home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / docs / inter45b / interrup.f < prev    next >
Encoding:
Text File  |  1995-03-26  |  335.6 KB  |  8,928 lines

  1. Interrupt List, part 6 of 12
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
  3. --------N-21C0-------------------------------
  4. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
  5.     AH = C0h
  6.     DS:DX -> non-extended FCB (see #0574 at AH=0Fh)
  7.     BX:CX = offset
  8. Return: AL = error code (see #0985)
  9. Notes:    unlocks record but does not remove it from log table
  10.     this function was added in NetWare 4.6, but was removed some time prior
  11.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  12.       documentation
  13. SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h
  14. --------v-21C0-------------------------------
  15. INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
  16.     AH = C0h
  17. Return: AX = 0300h if "Slow"/"Zerotime" resident
  18.     AX = 1234h if "Solano" resident
  19. SeeAlso: AX=BE00h,AH=C1h"VIRUS",AX=C301h"VIRUS"
  20. --------N-21C1-------------------------------
  21. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
  22.     AH = C1h
  23.     DS:DX -> opened FCB (see #0574 at AH=0Fh)
  24.     BX:CX = offset
  25. Return: AL = error code (see #0985)
  26. Note:    unlocks record and removes it from log table
  27.     this function was added in NetWare 4.6, but was removed some time prior
  28.       to Advanced NetWare, and is no longer listed in current Novell
  29.       documentation
  30. SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h
  31. --------v-21C1-------------------------------
  32. INT 21 - VIRUS - "Solano" - ???
  33.     AH = C1h
  34.     ???
  35. Return: ???
  36. SeeAlso: AH=C0h"VIRUS"
  37. --------N-21C2-------------------------------
  38. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
  39.     AH = C2h
  40.     AL = flags
  41.         bit 1: non-exclusive lock
  42.     BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
  43. Return: AL = status
  44.         00h successful
  45.         FEh timed out
  46.         FFh failed
  47. Desc:    attempt to lock all physical records listed in the log table
  48. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  49.       Alloy NTNX
  50.     status FFh will be returned if one or more physical records have been
  51.       exclusively locked by another process
  52. SeeAlso: AH=BFh,AH=C3h,AH=D1h
  53. --------v-21C2-------------------------------
  54. INT 21 - VIRUS - "Scott's Valley" - ???
  55.     AH = C2h
  56.     ???
  57. Return: ???
  58. SeeAlso: AH=C0h"VIRUS"
  59. --------N-21C3-------------------------------
  60. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECRD SET
  61.     AH = C3h
  62. Desc:    unlock all currently-locked physical records in the log table, but do
  63.       not remove them from the table
  64. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  65.       Alloy NTNX
  66. SeeAlso: AH=BDh,AH=C0h,AH=C2h"NetWare",AH=C4h,AH=D3h
  67. --------v-21C301DXF1F1-----------------------
  68. INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
  69.     AX = C301h
  70.     DX = F1F1h
  71. Return: DX = 0E0Eh if resident
  72. SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"
  73. --------N-21C4-------------------------------
  74. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
  75.     AH = C4h
  76. Desc:    unlock all physical records in the log table and remove them from the
  77.       log table
  78. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  79.       Alloy NTNX
  80. SeeAlso: AH=BEh,AH=C1h,AH=D5h
  81. --------N-21C500-----------------------------
  82. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
  83.     AX = C500h
  84.     DS:DX -> semaphore name (counted string, max 127 bytes)
  85.     CL = initial value for semaphore
  86. Return: AL = status
  87.         00h successful
  88.         BL = number of processes having semaphore open
  89.         CX:DX = semaphore handle
  90.         03h name length greater than 127 (see Novell document FYI.A.4611)
  91.         FEh invalid name length
  92.         FFh invalid semaphore value
  93. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  94.       Alloy NTNX
  95.     the semaphore's value is incremented by AX=C503h and decremented by
  96.       AX=C502h
  97. SeeAlso: AX=C501h,AX=C502h,AX=C503h,AX=C504h
  98. --------v-21C500-----------------------------
  99. INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
  100.     AX = C500h
  101. Return: AX = 6731h if resident
  102. SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"
  103. --------N-21C501-----------------------------
  104. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
  105.     AX = C501h
  106.     CX:DX = semaphore handle
  107. Return: AL = status
  108.         00h successful
  109.         CX = semaphore value (-127 to 127)
  110.         DL = count of processes which have the semaphore open
  111.         FFh invalid handle
  112. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  113.       Alloy NTNX
  114. SeeAlso: AX=C500h"NetWare",AX=C502h,AX=C504h
  115. --------N-21C502-----------------------------
  116. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
  117.     AX = C502h
  118.     CX:DX = semaphore handle
  119.     BP = timeout limit in timer ticks (1/18 sec)
  120.         0000h return immediately if semaphore already zero or negative
  121. Return: AL = status
  122.         00h successful
  123.         FEh timeout
  124.         FFh invalid handle
  125. Desc:    decrement the semaphore's value, optionally waiting until its value
  126.       becomes positive before decrementing
  127. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  128.       Alloy NTNX
  129. SeeAlso: AX=C500h"NetWare",AX=C501h,AX=C503h
  130. --------N-21C503-----------------------------
  131. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
  132.     AX = C503h
  133.     CX:DX = semaphore handle
  134. Return: AL = status
  135.         00h successful
  136.         01h semaphore value overflowed
  137.         FFh invalid handle
  138. Desc:    increment the semaphore's value and signal the first process (if any)
  139.       in the queue waiting on the semaphore
  140. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  141.       Alloy NTNX
  142. SeeAlso: AX=C500h"NetWare",AX=C502h
  143. --------N-21C504-----------------------------
  144. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
  145.     AX = C504h
  146.     CX:DX = semaphore handle
  147. Return: AL = status
  148.         00h successful
  149.         FFh invalid handle
  150. Desc:    decrement the semaphore's open count, and delete the semaphore if the
  151.       count reaches zero
  152. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  153.       Alloy NTNX
  154. SeeAlso: AX=C500h"NetWare",AX=C501h
  155. --------N-21C6-------------------------------
  156. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
  157.     AH = C6h
  158.     AL = subfunction
  159.         00h set old "compatibility" mode (default)
  160.         01h set new extended locks mode
  161.         02h get lock mode
  162. Return: AL = current lock mode
  163. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  164.       Alloy NTNX
  165.     the locking mode should be 01h for NetWare 4.61+ and Advanced
  166.       NetWare 1.0+ locking calls, and 00h for all older calls
  167. SeeAlso: AH=BCh,AH=C4h,AH=D0h
  168. --------v-21C6-------------------------------
  169. INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
  170.     AH = C6h
  171. Return: AL = 55h if resident
  172. SeeAlso: AX=C500h"VIRUS",AX=C603h
  173. --------v-21C603-----------------------------
  174. INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
  175.     AX = C603h
  176.     BX = version number (002Ch or 002Dh)
  177.     CF set
  178. Return: CF clear if resident
  179.     ZF set if resident and input BX matches version
  180. SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"
  181. --------N-21C700-----------------------------
  182. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
  183.     AX = C700h
  184. Return: CF clear if successful
  185.         AL = 00h
  186.     CF set on error
  187.         AL = error code
  188.         96h out of memory
  189.         FEh implicit transaction already active, converted to explicit
  190.         FFh explicit transaction already active
  191. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  192. SeeAlso: AX=C701h,AX=C702h,AX=C703h
  193. --------v-21C700-----------------------------
  194. INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
  195.     AX = C700h
  196. Return: AL = 07h if resident
  197. SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"
  198. --------N-21C701-----------------------------
  199. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
  200.     AX = C701h
  201. Return: AL = status (00h,FDh-FFh) (see #0987)
  202.         00h successful
  203.         CX:DX = transaction number
  204.     CF clear except when AL=FFh
  205. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  206. SeeAlso: AX=C700h"NetWare",AX=C703h
  207.  
  208. (Table 0987)
  209. Values for NetWare TTS status:
  210.  00h    successful
  211.  FDh    transaction tracking disabled
  212.  FEh    transaction ended records locked
  213.  FFh    no explicit transaction active
  214. --------N-21C702-----------------------------
  215. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
  216.     AX = C702h
  217. Return: AL = status
  218.         00h not available
  219.         01h available
  220.         FDh available but disabled
  221. Desc:    determine whether the default file server supports TTS
  222. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  223. --------N-21C703-----------------------------
  224. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
  225.     AX = C703h
  226. Return: CF clear if successful
  227.         AL = 00h
  228.     CF set on error
  229.         AL = error code (FDh-FFh) (see #0987)
  230. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  231. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h
  232. --------N-21C704-----------------------------
  233. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
  234.     AX = C704h
  235.     CX:DX = transaction number (see AX=C701h)
  236. Return: AL = status
  237.         00h successful
  238.         FFh not yet written to disk
  239. Desc:    verify that a transaction has actually been written to disk
  240. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  241.     transactions are written to disk in the order in which they are ended,
  242.       but it may take as much as five seconds for the data to be written
  243. SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h
  244. --------N-21C705-----------------------------
  245. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
  246.     AX = C705h
  247. Return: AL = status
  248.         00h successful
  249.     CL = maximum logical record locks (default 0)
  250.     CH = maximum physical record locks (default 0)
  251. Desc:    get the per-application limits on record locks allowed before an
  252.       implicit transaction is begun
  253. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  254.     if either limit is FFh, implicit transactions are disabled for the
  255.       corresponding lock type
  256. SeeAlso: AX=C706h,AX=C707h
  257. --------N-21C706-----------------------------
  258. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
  259.     AX = C706h
  260.     CL = maximum logical record locks (default 0)
  261.     CH = maximum physical record locks (default 0)
  262. Return: AL = status
  263.         00h successful
  264. Desc:    specify the per-application limits on record locks allowed before an
  265.       implicit transaction is begun
  266. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  267.     if either limit is set to FFh, implicit transactions are disabled for
  268.       the corresponding lock type
  269. SeeAlso: AX=C705h,AX=C708h
  270. --------N-21C707-----------------------------
  271. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
  272.     AX = C707h
  273. Return: AL = status
  274.         00h successful
  275.     CL = maximum logical record locks (default 0)
  276.     CH = maximum physical record locks (default 0)
  277. Desc:    get the per-workstation limits on record locks allowed before an
  278.       implicit transaction is begun
  279. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  280.     if either limit is FFh, implicit transactions are disabled for the
  281.       corresponding lock type
  282. SeeAlso: AX=C705h,AX=C708h
  283. --------N-21C708-----------------------------
  284. INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
  285.     AX = C708h
  286.     CL = maximum logical record locks (default 0)
  287.     CH = maximum physical record locks (default 0)
  288. Return: AL = status
  289.         00h successful
  290. Desc:    specify the per-workstation limits on record locks allowed before an
  291.       implicit transaction is begun
  292. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  293.     if either limit is set to FFh, implicit transactions are disabled for
  294.       the corresponding lock type
  295. SeeAlso: AX=C706h,AX=C707h
  296. --------N-21C8-------------------------------
  297. INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
  298.     AH = C8h
  299.     if function C6h lock mode 00h:
  300.         DL = mode
  301.         00h no wait
  302.         01h wait
  303.     if function C6h lock mode 01h:
  304.         BP = timeout in timer ticks (1/18 sec)
  305. Return: AL = error code
  306. Desc:    used to provide TTS support for applications which are not aware of
  307.       Novell's Transaction Tracking System
  308. Note:    this function was added in NetWare 4.0, but was removed some time prior
  309.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  310.       documentation
  311. SeeAlso: AH=C9h
  312. --------N-21C9-------------------------------
  313. INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
  314.     AH = C9h
  315. Return: AL = error code
  316. Desc:    used to provide TTS support for applications which are not aware of
  317.       Novell's Transaction Tracking System
  318. Note:    this function was added in NetWare 4.0, but was removed some time prior
  319.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  320.       documentation
  321. SeeAlso: AH=C8h
  322. --------N-21CA-------------------------------
  323. INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
  324.     AH = CAh
  325.     DS:DX -> FCB (see #0574 at AH=0Fh)
  326.     if function C6h lock mode 01h:
  327.         AL = log and lock flag
  328.         00h log file only
  329.         01h lock as well as log file
  330.         BP = lock timeout in timer ticks (1/18 sec)
  331. Return: AL = error code
  332.         00h successful
  333.         96h no dynamic memory for file
  334.         FEh timeout
  335.         FFh failed
  336. Desc:    provides file locking support for FCBs
  337. Note:    this function was added in NetWare 4.0, but was removed some time prior
  338.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  339.       documentation
  340. SeeAlso: AH=CBh
  341. --------v-21CA15-----------------------------
  342. INT 21 - VIRUS - "Piter" - ???
  343.     AX = CA15h
  344.     ???
  345. Return: ???
  346. SeeAlso: AH=CCh"VIRUS"
  347. --------N-21CB-------------------------------
  348. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
  349.     AH = CBh
  350.     if function C6h lock mode 00h:
  351.         DL = mode (00h no wait, 01h wait)
  352.     if function C6h lock mode 01h:
  353.         BP = lock timeout in timer ticks (1/18 sec), 0000h = no wait
  354. Return: AL = status (00h,FEh,FFh) (see #0988)
  355. Desc:    attempt to lock all files listed in the log table
  356. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  357.       Alloy NTNX
  358.     status FFh will be returned if one or more of the files have already
  359.       been exclusively locked by another process
  360. SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh
  361.  
  362. (Table 0988)
  363. Values for NetWare status:
  364.  00h    successful
  365.  FEh    timed out
  366.  FFh    failed
  367. --------v-21CB-------------------------------
  368. INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
  369.     AH = CBh
  370. Return: AL = 07h if resident
  371. SeeAlso: AX=C700h"VIRUS",AX=CB02h
  372. --------v-21CB02-----------------------------
  373. INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
  374.     AX = CB02h
  375. Return: AX = 02CBh if resident
  376. SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"
  377. --------N-21CC-------------------------------
  378. INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
  379.     AH = CCh
  380.     DS:DX -> FCB (see #0574 at AH=0Fh)
  381. Return: none
  382. Desc:    unlocks file, but does not remove it from the log table or close it
  383. Note:    this function was added in NetWare 4.0, but was removed some time prior
  384.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  385.       documentation
  386. SeeAlso: AH=CAh,AH=CDh
  387. --------v-21CC-------------------------------
  388. INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
  389.     AH = CCh
  390. Return: AX = 0700h if resident
  391. SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"
  392. --------N-21CD-------------------------------
  393. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
  394.     AH = CDh
  395. Return: none
  396. Desc:    unlock all files listed in the log table, but don't remove them from
  397.       the table
  398. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  399.       Alloy NTNX
  400. SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h
  401. --------v-21CD-------------------------------
  402. INT 21 - VIRUS - "Westwood" - ???
  403.     AH = CDh
  404.     ???
  405. Return: ???
  406. SeeAlso: AH=CCh"VIRUS"
  407. --------N-21CE-------------------------------
  408. INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
  409.     AH = CEh
  410.     DS:DX -> FCB (see #0574 at AH=0Fh)
  411. Return: AL = error code
  412. Desc:    unlocks file and removes it from log table, then closes all opened and
  413.       logged occurrences
  414. Note:    this function was added in NetWare 4.0, but was removed some time prior
  415.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  416.       documentation
  417. SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"
  418. --------N-21CF-------------------------------
  419. INT 21 - LANstep - ???
  420.     AH = CFh
  421.     ???
  422. Return: ???
  423. Program: LANstep is a redesign of the Waterloo Microsystems PORT network
  424. --------N-21CF-------------------------------
  425. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
  426.     AH = CFh
  427. Return: AL = 00h
  428. Desc:    unlock and remove all files from log table
  429. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  430.       Alloy NTNX
  431. SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"
  432. --------N-21D0-------------------------------
  433. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
  434.     AH = D0h
  435.     DS:DX -> record string (counted string, max 99 data bytes)
  436.     if function C6h lock mode 01h: (Novell, NTNX only)
  437.         AL = flags
  438.         bit 0: lock as well as log the record
  439.         bit 1: non-exclusive lock
  440.         BP = lock timeout in timer ticks (1/18 sec)
  441. Return: AL = status
  442.         00h successful
  443.         96h no dynamic memory for file
  444.         FEh timed out
  445.         FFh unsuccessful
  446. Desc:    add the specified logical record name to the log table, and optionally
  447.       lock the record
  448. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  449.       Banyan VINES, and Alloy NTNX
  450.     locks on logical record names are advisory and may be ignored by other
  451.       applications
  452. SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh
  453. --------v-21D000-----------------------------
  454. INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
  455.     AX = D000h
  456. Return: BX = 1234h if resident
  457. SeeAlso: AH=CCh"VIRUS",AH=D5h"VIRUS",AX=D5AAh
  458. --------N-21D1-------------------------------
  459. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
  460.     AH = D1h
  461.     AL = lock type (00h exclusive, 01h shareable)
  462.     if function C6h lock mode 00h:
  463.         DL = mode (00h no wait, 01h wait)
  464.     if function C6h lock mode 01h: (Novell only)
  465.         BP = lock timeout in timer ticks (1/18 sec), 0000h no wait
  466. Return: AL = status (see #0988)
  467. Desc:    attempt to lock all logical record names listed in the log table
  468. Notes:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
  469.       Banyan VINES, and Alloy NTNX
  470.     status FFh will be returned if one or more logical records have been
  471.       exclusively locked by another process
  472.     locks on logical record names are advisory and may be ignored by other
  473.       applications
  474. SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h
  475. --------N-21D2-------------------------------
  476. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
  477.     AH = D2h
  478.     DS:DX -> semaphore identifier (counted string up to 99 chars long)
  479. Return: AL = status
  480.         00h successful
  481.         FFh no such record
  482. Desc:    unlock the logical record name but do not remove it from the log table
  483. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  484.       Banyan VINES, and Alloy NTNX
  485.     locks on logical record names are advisory and may be ignored by other
  486.       applications
  487. SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h
  488. --------v-21D2-------------------------------
  489. INT 21 - VIRUS???
  490.     AH = D2h
  491.     ???
  492. Return: ???
  493. Note:    this call is intercepted by the Search&Destroy SDRes v27.03 bundled
  494.       with Novell DOS 7, and is presumably some virus's installation check
  495. SeeAlso: AH=4Ah/BX=00B6h
  496. --------N-21D3-------------------------------
  497. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
  498.     AH = D3h
  499. Desc:    unlock all currently-locked logical record names in the log table, but
  500.       do not remove them from the table
  501. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  502.       Banyan VINES, and Alloy NTNX
  503.     locks on logical record names are advisory and may be ignored by other
  504.       applications
  505. SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h
  506. --------N-21D4-------------------------------
  507. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
  508.     AH = D4h
  509.     DS:DX -> logical record name (counted string up to 99 chars long)
  510. Return: AL = status (00h,FFh) (see #0989)
  511. Desc:    unlock and remove the logical record name from the log table
  512. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  513.       Banyan VINES, and Alloy NTNX
  514.     locks on logical record names are advisory and may be ignored by other
  515.       applications
  516. SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h
  517.  
  518. (Table 0989)
  519. Values for NetWare status:
  520.  00h    successful
  521.  FFh    no such record name
  522. --------N-21D5-------------------------------
  523. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
  524.     AH = D5h
  525. Return: AL = error code (00h,FFh) (see #0989)
  526. Desc:    unlock and remove all logical record name from the log table
  527. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  528.       Banyan VINES, and Alloy NTNX
  529.     locks on logical record names are advisory and may be ignored by other
  530.       applications
  531. SeeAlso: AH=D1h,AH=D3h,AH=D4h
  532. --------v-21D5-------------------------------
  533. INT 21 - VIRUS - "Carfield" - ???
  534.     AH = D5h
  535.     ???
  536. Return: ???
  537. SeeAlso: AX=D5AAh,AH=F3h"Carfield"
  538. --------v-21D5AA-----------------------------
  539. INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
  540.     AX = D5AAh
  541. Return: AX = 2A55h if "Diamond-A" resident
  542.     AX = 2A03h if "Diamond-B"-family virus resident
  543. SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh
  544. --------v-21D5AABPDEAA-----------------------
  545. INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
  546.     AX = D5AAh
  547.     BP = DEAAh
  548. Return: SI = 4321h if resident
  549. SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"
  550. --------N-21D6-------------------------------
  551. INT 21 - Novell NetWare - WORKSTATION - END OF JOB
  552.     AH = D6h
  553.     BX = job flag (0000h current job, FFFFh all processes on workstation)
  554. Return: AL = error code
  555. Desc:    unlocks and clears all locked or logged files and records held by the
  556.       process(es), closes all files, resets error and lock modes, and
  557.       releases all network resources
  558. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  559.       Alloy NTNX
  560. SeeAlso: AH=BBh,AH=D7h
  561. --------N-21D7-------------------------------
  562. INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
  563.     AH = D7h
  564. Return: AL = error code
  565. Desc:    this function closes the caller's open files, logs it out from all
  566.       file servers, detaches the workstation from all non-default file
  567.       servers, and maps a drive to the default server's SYS:LOGIN directory
  568. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  569.       Alloy NTNX
  570. SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h
  571. --------N-21D8-------------------------------
  572. INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
  573.     AH = D8h
  574.     DL = resource number
  575. Return: AL = status (00h successful, FFh unsucessful)
  576. Note:    this function is no longer used or supported by NetWare, and is not
  577.       documented in Novell documents
  578. SeeAlso: AH=D9h
  579. --------N-21D9-------------------------------
  580. INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
  581.     AH = D9h
  582.     DL = resource number
  583. Return: AL = status (00h successful, FFh unsucessful)
  584. Note:    this function is no longer used or supported by NetWare, and is not
  585.       documented in Novell documents
  586. SeeAlso: AH=D8h
  587. --------N-21DA-------------------------------
  588. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
  589.     AH = DAh
  590.     DL = volume number
  591.     ES:DI -> reply buffer (see #0990)
  592. Return: AL = 00h
  593. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  594.     operator console rights are not required to make this call
  595.     reported total blocks and total unused blocks include the Hot Fix
  596.       Table; the NetWare shell's implementation of INT 21/AH=36h will
  597.       report values larger than 268MB as 268MB.
  598. SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  599.  
  600. Format of NetWare reply buffer:
  601. Offset    Size    Description    (Table 0990)
  602.  00h    WORD    sectors/block
  603.  02h    WORD    total blocks on volume
  604.  04h    WORD    unused blocks
  605.  06h    WORD    total directory entries
  606.  08h    WORD    unused directory entries
  607.  0Ah 16 BYTEs    volume name, null padded
  608.  1Ah    WORD    removable flag, 0000h = not removable
  609. Note:    all words are big-endian
  610. --------v-21DADA-----------------------------
  611. INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
  612.     AX = DADAh
  613. Return: AH = A5h
  614. SeeAlso: AX=D5AAh,AX=DAFEh"VIRUS"
  615. --------v-21DAFE-----------------------------
  616. INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
  617.     AX = DAFEh
  618. Return: AX = 1234h if resident
  619. SeeAlso: AX=DADAh,AH=DDh"VIRUS",AH=DEh"VIRUS"
  620. --------N-21DB-------------------------------
  621. INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
  622.     AH = DBh
  623. Return: AL = number of local disks as set by LASTDRIVE in CONFIG.SYS
  624. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  625.       Alloy NTNX
  626. SeeAlso: AH=0Eh
  627. --------N-21DC-------------------------------
  628. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
  629.     AH = DCh
  630. Return: AL = logical connection number
  631.         00h if NetWare not loaded or this machine is a non-dedicated server
  632.     CX = station number in ASCII (CL = first digit)
  633. Notes:    this function is supported by NetWare 4.0+, Banyan VINES, and Alloy
  634.       NTNX
  635.     station number only unique for those PCs connected to same semaphore
  636.       service
  637. SeeAlso: AH=F2h"NetWare"
  638. --------d-21DC-------------------------------
  639. INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
  640.     AH = DCh
  641.     DX = state
  642.         0000h turn on
  643.         0001h turn off
  644. SeeAlso: AX=FEDCh
  645. --------N-21DD-------------------------------
  646. INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
  647.     AH = DDh
  648.     DL = error mode
  649.         00h invoke INT 24 on critical I/O errors (default)
  650.         01h return NetWare extended error code in AL
  651.         02h return error code in AL, mapped to standard DOS error codes
  652. Return: AL = previous error mode
  653. Note:    this function is supported by Advanced NetWare 2.0+
  654. SeeAlso: INT 24
  655. --------v-21DD-------------------------------
  656. INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
  657.     AH = DDh
  658.     CX = number of bytes to copy
  659.     DS:SI -> source of copy
  660.     ES:DI -> destination of copy
  661. Return: does not return normally; return address is caller's CS:0100h with
  662.       AX = ???
  663. SeeAlso: AH=E0h"VIRUS",AH=EEh"VIRUS"
  664. --------v-21DE-------------------------------
  665. INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
  666.     AH = DEh
  667. Return: AH = DFh if resident
  668. SeeAlso: AX=DAFEh,AX=DEDEh"VIRUS"
  669. --------v-21DE-------------------------------
  670. INT 21 - VIRUS - "April 1st EXE" - ???
  671.     AH = DEh
  672.     ???
  673. Return: ???
  674. --------N-21DE-------------------------------
  675. INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
  676.     AH = DEh
  677.     DL = broadcast mode
  678.         00h receive server and workstation broadcasts (default)
  679.         01h receive server broadcasts, discard user messages
  680.         02h store server broadcasts for retrieval
  681.         03h store all broadcasts for retrieval
  682. Return: AL = new broadcast mode
  683. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  684. --------N-21DE--DL04-------------------------
  685. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
  686.     AH = DEh
  687.     DL = 04h
  688. Return: AL = current broadcast mode
  689.         00h receive server and workstation broadcasts (default)
  690.         01h receive server broadcasts, discard user message
  691.         02h store server broadcasts for retrieval
  692.         03h store all broadcasts for retrieval
  693. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  694. --------N-21DE-------------------------------
  695. INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
  696.     AH = DEh
  697.     DL = function
  698.         05h disable shell timer interrupt checks
  699.         06h enable shell timer interrupt checks
  700. Return: ???
  701. Note:    this function was added in NetWare 4.0, but is not listed in current
  702.       Novell documentation and is probably no longer supported
  703. --------v-21DEDE-----------------------------
  704. INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
  705.     AX = DEDEh
  706. Return: AH = 41h if resident
  707. SeeAlso: AH=DEh"VIRUS",AH=E0h"VIRUS"
  708. --------N-21DF--DL00-------------------------
  709. INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
  710.     AH = DFh
  711.     DL = 00h
  712. Return: AL = status
  713.         00h successful
  714. Desc:    this function redirects the default LPT to a capture file on the file
  715.       server
  716. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  717.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  718.     a print job is queued when the first character of output is captured
  719. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=03h
  720. SeeAlso: AH=DFh/DL=04h,AX=F003h
  721. --------N-21DF--DL01-------------------------
  722. INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
  723.     AH = DFh
  724.     DL = 01h
  725. Return: AL = status
  726.         00h successful
  727. Desc:    stop redirecting the default LPT, close the capture file, and release
  728.       the job in the print queue for printing
  729. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  730.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  731.     after this call, the default LPT defaults to local printing
  732. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=02h,AH=DFh/DL=03h,AH=DFh/DL=05h
  733. --------N-21DF--DL02-------------------------
  734. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
  735.     AH = DFh
  736.     DL = 02h
  737. Return: AL = status
  738.         00h successful
  739. Desc:    this function ends the capture of the default LPT, removes the job from
  740.       the print queue, and deletes the capture file unless it is a
  741.       permanent capture file
  742. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  743.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  744.     after this call, the default LPT defaults to local printing
  745. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=06h
  746. --------N-21DF--DL03-------------------------
  747. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
  748.     AH = DFh
  749.     DL = 03h
  750. Return: AL = status
  751.         00h successful
  752. Desc:    this function closes the current capture file for the default LPT
  753.       and starts printing it if it is not a permanent capture file
  754. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  755.       Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
  756.     if more data is sent to the LPT port after this call, a new capture
  757.       file will be opeend
  758. SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=07h
  759. --------N-21DF--DL04-------------------------
  760. INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
  761.     AH = DFh
  762.     DL = 04h
  763.     DH = LPT port (00h-02h)
  764. Return: AL = status
  765.         00h successful
  766. Desc:    this function redirects the specified LPT to a capture file on the file
  767.       server
  768. Notes:    this function is supported by Advanced NetWare 2.1+
  769.     a print job is queued when the first character of output is captured
  770. SeeAlso: AX=B800h,AH=DFh/DL=00h,AH=DFh/DL=05h,AH=DFh/DL=06h,AH=DFh/DL=07h
  771. SeeAlso: AX=F003h
  772. --------N-21DF--DL05-------------------------
  773. INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
  774.     AH = DFh
  775.     DL = 05h
  776.     DH = LPT port (00h-02h)
  777. Return: AL = status
  778.         00h successful
  779. Desc:    stop redirecting the specified LPT, close the capture file, and release
  780.       the job in the print queue for printing
  781. Notes:    this function is supported by Advanced NetWare 2.1+
  782.     after this call, the specified LPT defaults to local printing
  783. SeeAlso: AH=DFh/DL=01h,AH=DFh/DL=04h,AH=DFh/DL=06h,AH=DFh/DL=07h
  784. --------N-21DF--DL06-------------------------
  785. INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
  786.     AH = DFh
  787.     DL = 06h
  788.     DH = LPT port (00h-02h)
  789. Return: AL = status
  790.         00h successful
  791. Desc:    this function ends the capture of the specified LPT, removes the job
  792.       from the print queue, and deletes the capture file unless it is a
  793.       permanent capture file
  794. Notes:    this function is supported by Advanced NetWare 2.1+
  795.     after this call, the specified LPT defaults to local printing
  796. SeeAlso: AH=DFh/DL=02h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=07h
  797. --------N-21DF--DL07-------------------------
  798. INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
  799.     AH = DFh
  800.     DL = 07h
  801.     DH = LPT port (00h-02h)
  802. Return: AL = status
  803.         00h successful
  804. Desc:    this function closes the current capture file for the specified LPT
  805.       and starts printing it if it is not a permanent capture file
  806. Notes:    this function is supported by Advanced NetWare 2.1+
  807.     if more data is sent to the LPT port after this call, a new capture
  808.       file will be opeend
  809. SeeAlso: AH=DFh/DL=03h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=06h
  810. --------T-21DF00DX534C-----------------------
  811. INT 21 U - Software Carousel - INSTALLATION CHECK
  812.     AX = DF00h
  813.     DX = 534Ch ("SL")
  814.     DI = 534Ch ("SL")
  815. Return: AX = 00FFh if installed
  816.         ???
  817. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  818. --------T-21DF01-----------------------------
  819. INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
  820.     AX = DF01h
  821.     BL = task number (00h = next task)
  822. Return: AL = status
  823.         00h Carousel not running
  824.         01h successful
  825.         FFh unsucessful
  826.         AH = error code (01h,02h) (see #0991)
  827.  
  828. (Table 0991)
  829. Values for Software Carousel error code:
  830.  00h    invalid subfunction in AL
  831.  01h    invalid task number
  832.  02h    tried to switch to task with no memory size
  833.  03h    tried to kill program in partition with no program running
  834.  04h    tried to change size of an active memory partition
  835.  05h    invalid memory size
  836.  06h    tried to send command to task with a pending previous command
  837. --------T-21DF02-----------------------------
  838. INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
  839.     AX = DF02h
  840.     BL = task number
  841. Return: AL = status
  842.         00h Carousel not running
  843.         01h successful
  844.         FFh unsucessful
  845.         AH = error code (01h,03h) (see #0991)
  846. --------T-21DF03-----------------------------
  847. INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
  848.     AX = DF03h
  849.     BL = task number
  850. Return: AL = status
  851.         00h Carousel not running
  852.         01h successful
  853.         BL = partition state (00h no program running, 01h prog running)
  854.         DX = partition size in KB
  855.         FFh unsucessful
  856.         AH = error code (01h) (see #0991)
  857. SeeAlso: AX=DF05h
  858. --------T-21DF04-----------------------------
  859. INT 21 - Software Carousel - GET PARTITION NAME
  860.     AX = DF04h
  861.     BL = task number
  862. Return: AL = status
  863.         00h Carousel not running
  864.         01h successful
  865.         CX = length of name (00h if default partition name)
  866.         ES:BX -> partition name (if CX nonzero)
  867.         FFh unsucessful
  868.         AH = error code (01h) (see #0991)
  869. SeeAlso: AX=DF06h
  870. --------T-21DF05-----------------------------
  871. INT 21 - Software Carousel - CHANGE PARTITION SIZE
  872.     AX = DF05h
  873.     BL = task number
  874.     DX = new size in KB
  875. Return: AL = status
  876.         00h Carousel not running
  877.         01h successful
  878.         FFh unsucessful
  879.         AH = error code (01h,04h,05h) (see #0991)
  880.     BX = minimum size allowed
  881.     CX = maximum size available
  882. SeeAlso: AX=DF03h
  883. --------T-21DF06-----------------------------
  884. INT 21 - Software Carousel - CHANGE PARTITION NAME
  885.     AX = DF06h
  886.     BL = task number
  887.     CX = length of new name (00h to use default, max 18h)
  888.     DS:SI -> new name
  889. Return: AL = status
  890.         00h Carousel not running
  891.         01h successful
  892.         FFh unsucessful
  893.         AH = error code (01h) (see #0991)
  894. SeeAlso: AX=DF04h
  895. --------T-21DF07-----------------------------
  896. INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
  897.     AX = DF07h
  898.     BL = task number
  899.     CX = length of command (max 8 chars)
  900.     DS:SI -> command line
  901. Return: AL = status
  902.         00h Carousel not running
  903.         01h successful
  904.         FFh unsucessful
  905.         AH = error code (01h,06h) (see #0991)
  906. Note:    the maximum length seems too small and may be a typo for 80 characters
  907. --------T-21DF08-----------------------------
  908. INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
  909.     AX = DF08h
  910.     BL = new state of keyboard (00h disabled, 01h enabled)
  911. Return: AL = status
  912.         00h Carousel not running
  913.         01h successful
  914. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  915. Note:    when the keyboard is is disabled, the user may neither access the
  916.       Carousel menu nor switch to another memory section
  917. --------T-21DF09-----------------------------
  918. INT 21 - Software Carousel - BOOT THE SYSTEM
  919.     AX = DF09h
  920. Return: AL = status
  921.         00h Carousel not running
  922.         FFh unsucessful
  923.         AH = error code (01h,03h) (see #0991)
  924. Note:    this function never returns if successful
  925. --------T-21DF0A-----------------------------
  926. INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
  927.     AX = DF0Ah
  928. Return: AL = status
  929.         00h Carousel not running
  930.         01h successful
  931.         BL = task number
  932.         DX = memory size in KB
  933.         FFh unsucessful
  934.         AH = error code (01h,03h) (see #0991)
  935. --------T-21DF0B-----------------------------
  936. INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
  937.     AX = DF0Bh
  938.     BH = interrupt number or 00h
  939.     BL = function number to invoke on partition switch
  940.     CL = function number to call when it is safe for resident programs
  941.         to perform DOS calls
  942.     DS:DX -> FAR function to call if BH=00h
  943. Return: AL = status
  944.         00h Carousel not running
  945.         01h successful
  946.         FFh unsucessful
  947.         AH = error code (01h,03h) (see #0991)
  948. Notes:    the specified interrupt or FAR function is called with AH set to the
  949.       appropriate one of the values specified in BL and CL, and BL set to
  950.       the new task number
  951.     the function specified by CL will not be called until the notification
  952.       is enabled with AX=DF0Ch
  953. SeeAlso: AX=DF0Ch
  954. --------T-21DF0C-----------------------------
  955. INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
  956.     AX = DF0Ch
  957. Return: AL = status
  958.         00h Carousel not running
  959.         01h successful
  960. Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
  961. SeeAlso: AX=DF0Bh
  962. --------O-21E0-------------------------------
  963. INT 21 - Digital Research DOS Plus - CALL BDOS
  964.     AH = E0h
  965.     CL = BDOS function number (see #2602 at INT E0"CP/M")
  966.     other registers as appropriate for function
  967. Return: as appropriate for function
  968. SeeAlso: AX=4459h,INT E0"CP/M"
  969. --------E-21E0-------------------------------
  970. INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
  971.     AH = E0h
  972.     ???
  973. Return: ???
  974. SeeAlso: AH=E1h"OS/286"
  975. --------T-21E0-------------------------------
  976. INT 21 - DoubleDOS - MENU CONTROL
  977.     AH = E0h
  978.     AL = subfunction
  979.         01h exchange tasks
  980.         73h resume invisible job if suspended
  981.         74h kill other job
  982.         75h suspend invisible job
  983. Note:    identical to AH=F0h
  984. SeeAlso: AH=F0h"DoubleDOS"
  985. --------v-21E0-------------------------------
  986. INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
  987.     AH = E0h
  988. Return: AX = 0300h if "Jerusalem" resident
  989.     AX = DADAh if "Armagedon" resident
  990. SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh
  991. --------N-21E0-------------------------------
  992. INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
  993.     AH = E0h
  994.     DS:SI -> request buffer (see #0992)
  995.     ES:DI -> reply buffer
  996. Return: AL = status
  997. Note:    this function was added in NetWare 4.0, but is no longer listed in
  998.       current Novell documentation and may no longer be supported
  999. SeeAlso: AH-E3h/SF=68h
  1000.  
  1001. Format of NetWare request buffer:
  1002. Offset    Size    Description    (Table 0992)
  1003.  00h    WORD    length of following data
  1004.  02h    BYTE    subfunction
  1005.         00h spool data to a capture file
  1006.         01h close and queue capture file
  1007.         02h set spool flags
  1008.         03h spool existing file
  1009.         04h get spool queue entry
  1010.         05h remove entry from spool queue
  1011.  03h    ???
  1012. --------N-21E0--SF06-------------------------
  1013. INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
  1014.     AH = E0h subfn 06h
  1015.     DS:SI -> request buffer (see #0993)
  1016.     ES:DI -> reply buffer (see #0994)
  1017. Return: AL = status
  1018.         00h successful
  1019.         FFh no such printer
  1020. Desc:    get current state of specified printer attached to the server
  1021. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1022.       Alloy NTNX
  1023.  
  1024. Format of NetWare "Get Printer Status" request buffer:
  1025. Offset    Size    Description    (Table 0993)
  1026.  00h    WORD    0002h (length of following data)
  1027.  02h    BYTE    06h (subfunction "Get Printer Status")
  1028.  03h    BYTE    printer number (00h-04h)
  1029. SeeAlso: #0994
  1030.  
  1031. Format of NetWare "Get Printer Status" reply buffer:
  1032. Offset    Size    Description    (Table 0994)
  1033.  00h    WORD    (call) 0004h (size of following results buffer)
  1034.  02h    BYTE    flag: 00h printer active, FFh printer halted
  1035.  03h    BYTE    flag: 00h printer online, 01h printer offline
  1036.  04h    BYTE    current form type
  1037.  05h    BYTE    target printer number (00h-04h)
  1038.         same as number in request buffer unless rerouted by server
  1039.           console
  1040. SeeAlso: #0993
  1041. --------N-21E0--SF09-------------------------
  1042. INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
  1043.     AH = E0h subfn 09h
  1044.     DS:SI -> request buffer (see #0995)
  1045.     ES:DI -> reply buffer (see #0996)
  1046. Return: AL = status
  1047.         00h successful
  1048.         9Ch invalid path
  1049. Desc:    create a permanent capture file for the next print capture to be
  1050.       started
  1051. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1052.       Alloy NTNX
  1053.     the caller must have read, write, and create rights for the directory
  1054.       containing the capture file
  1055.  
  1056. Format of NetWare "Specify Capture File" request buffer:
  1057. Offset    Size    Description    (Table 0995)
  1058.  00h    WORD    length of following data (max 102h)
  1059.  02h    BYTE    09h (subfunction "Specify Capture File")
  1060.  03h    BYTE    directory handle or 00h
  1061.  04h    BYTE    length of filename
  1062.  05h  N BYTEs    name of capture file
  1063. SeeAlso: #0996
  1064.  
  1065. Format of NetWare reply buffer:
  1066. Offset    Size    Description    (Table 0996)
  1067.  00h    WORD    (call) 0000h (no results returned)
  1068. SeeAlso: #0995
  1069. --------v-21E00F-----------------------------
  1070. INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
  1071.     AX = E00Fh
  1072. Return: AX = 4C31h if resident
  1073. SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"
  1074. --------E-21E1-------------------------------
  1075. INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
  1076.     AH = E1h
  1077.     ???
  1078. Return: ???
  1079. Note:    protected mode only???
  1080. SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h
  1081. --------T-21E1-------------------------------
  1082. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  1083.     AH = E1h
  1084. SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1085. SeeAlso: AH=F1h"DoubleDOS"
  1086. --------v-21E1-------------------------------
  1087. INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
  1088.     AH = E1h
  1089. Return: AX = 0300h if "Mendoza" resident
  1090.     AX = 0400h if "Fu Manchu" resident
  1091. SeeAlso: AX=E00Fh,AH=E4h"VIRUS"
  1092. --------N-21E1--SF00-------------------------
  1093. INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
  1094.     AH = E1h subfn 00h
  1095.     DS:SI -> request buffer (see #0997)
  1096.     ES:DI -> reply buffer (see #0998)
  1097. Return: AL = status
  1098.         00h successful
  1099.         FEh I/O error or out of dynamic workspace
  1100. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1101. SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
  1102. SeeAlso: AH=E1h/SF=09h
  1103.  
  1104. Format of NetWare "Send Broadcast Message" request buffer:
  1105. Offset    Size    Description    (Table 0997)
  1106.  00h    WORD    length of following data (max 9Eh)
  1107.  02h    BYTE    00h (subfunction "Send Broadcast Message")
  1108.  03h    BYTE    number of connections (01h-64h)
  1109.  04h  N BYTEs    list of connections to receive broadcast message
  1110.     BYTE    length of message (01h-37h)
  1111.       N BYTEs    broadcast message (no control characters or characters > 7Eh)
  1112. SeeAlso: #0998
  1113.  
  1114. Format of NetWare "Send Broadcast Message" reply buffer:
  1115. Offset    Size    Description    (Table 0998)
  1116.  00h    WORD    (call) size of following results buffer (max 65h)
  1117.  02h    BYTE    number of connections
  1118.  03h  N BYTEs    list of per-connection results
  1119.         00h successful
  1120.         FCh message rejected due to lack of buffer space
  1121.         FDh invalid connection number
  1122.         FFh blocked (see also AH=E1h/SF=02h)
  1123. SeeAlso: #0997
  1124. --------N-21E1--SF01-------------------------
  1125. INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE
  1126.     AH = E1h subfn 01h
  1127.     DS:SI -> request buffer (see #0999)
  1128.     ES:DI -> reply buffer (see #1000)
  1129. Return: AL = status
  1130.         00h successful
  1131.         FCh full message queue
  1132.         FEh out of dynamic workspace
  1133. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1134. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
  1135.  
  1136. Format of NetWare "Get Broadcast Message" request buffer:
  1137. Offset    Size    Description    (Table 0999)
  1138.  00h    WORD    0001h (length of following data)
  1139.  02h    BYTE    01h (subfunction "Get Broadcast Message")
  1140. SeeAlso: #1000
  1141.  
  1142. Format of NetWare "Get Broadcast Message" reply buffer:
  1143. Offset    Size    Description    (Table 1000)
  1144.  00h    WORD    (call) size of following results buffer (max 38h)
  1145.  02h    BYTE    length of message (00h-37h)
  1146.         00h if no broadcast messages pending
  1147.  03h  N BYTEs    message (no control characters or characters > 7Eh)
  1148. SeeAlso: #0999
  1149. --------N-21E1-------------------------------
  1150. INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE/DISABLE BROADCAST MESSAGES
  1151.     AH = E1h
  1152.     DS:SI -> request buffer (see #1001)
  1153.     ES:DI -> reply buffer (see #1002)
  1154. Return: AL = error code
  1155. Note:    these functions are supported by NetWare 4.0+ but are not listed in
  1156.       _NetWare_System_Calls--DOS_; they may be obsolete
  1157. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=04h,AH=E1h/SF=09h
  1158.  
  1159. Format of NetWare "Enable/Disable Broadcast Messages" request buffer:
  1160. Offset    Size    Description    (Table 1001)
  1161.  00h    WORD    length of following data (max 9Eh)
  1162.  02h    BYTE    subfunction
  1163.         02h disable station broadcasts
  1164.         03h enable station broadcasts
  1165.  03h    ???
  1166. SeeAlso: #1002
  1167.  
  1168. Format of NetWare "Enable/Disable Broadcast Messages" reply buffer:
  1169. Offset    Size    Description    (Table 1002)
  1170.  00h    WORD    (call) size of following results buffer
  1171.  02h    ???
  1172. SeeAlso: #1001
  1173. --------N-21E1--SF04-------------------------
  1174. INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
  1175.     AH = E1h subfn 04h
  1176.     DS:SI -> request buffer (see #1003)
  1177.     ES:DI -> reply buffer (see #1004)
  1178. Return: AL = status
  1179.         00h successful
  1180.         FEh I/O error or out of dynamic workspace
  1181. Notes:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1182.     message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
  1183.       connections should be used for peer-to-peer communications as these
  1184.       protocols do not use file server time
  1185. SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1186.  
  1187. Format of NetWare "Send Personal Message" request buffer:
  1188. Offset    Size    Description    (Table 1003)
  1189.  00h    WORD    length of following data (max E5h)
  1190.  02h    BYTE    04h (subfunction "Send Personal Message")
  1191.  03h    BYTE    number of connections (01h-64h)
  1192.  04h  N BYTEs    list of connections to receive broadcast message
  1193.     BYTE    length of message (01h-7Eh)
  1194.       N BYTEs    message (no control characters or characters > 7Eh)
  1195. SeeAlso: #1004
  1196.  
  1197. Format of NetWare "Send Personal Message" reply buffer:
  1198. Offset    Size    Description    (Table 1004)
  1199.  00h    WORD    (call) size of following results buffer (max 65h)
  1200.  02h    BYTE    number of connections
  1201.  03h  N BYTEs    list of per-connection results
  1202.         00h successful
  1203.         FCh message rejected because queue is full (contains 6 msgs)
  1204.         FDh incomplete pipe
  1205.         FFh failed
  1206. SeeAlso: #1003
  1207. --------N-21E1--SF05-------------------------
  1208. INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
  1209.     AH = E1h subfn 05h
  1210.     DS:SI -> request buffer (see #1005)
  1211.     ES:DI -> reply buffer (see #1006)
  1212. Return: AL = status
  1213.         00h successful
  1214.         FEh out of dynamic workspace
  1215. Desc:    return the oldest message in the default file server's message queue
  1216.       for the calling workstation
  1217. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1218. SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1219.  
  1220. Format of NetWare "Get Personal Message" request buffer:
  1221. Offset    Size    Description    (Table 1005)
  1222.  00h    WORD    0001h (length of following data)
  1223.  02h    BYTE    05h (subfunction "Get Personal Message")
  1224. SeeAlso: #1006
  1225.  
  1226. Format of NetWare "Get Personal Message" reply buffer:
  1227. Offset    Size    Description    (Table 1006)
  1228.  00h    WORD    (call) size of following results buffer (max 80h)
  1229.  02h    BYTE    connection number of sending station
  1230.  03h    BYTE    length of message (00h-7Eh)
  1231.         00h if no personal messages pending
  1232.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1233. SeeAlso: #1005
  1234. --------N-21E1--SF06-------------------------
  1235. INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
  1236.     AH = E1h subfn 06h
  1237.     DS:SI -> request buffer (see #1007)
  1238.     ES:DI -> reply buffer (see #1008)
  1239. Return: AL = status
  1240.         00h successful
  1241.         FEh out of dynamic workspace
  1242. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1243. SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h
  1244.  
  1245. Format of NetWare "Open Message Pipe" request buffer:
  1246. Offset    Size    Description    (Table 1007)
  1247.  00h    WORD    length of following data (max 66h)
  1248.  02h    BYTE    06h (subfunction "Open Message Pipe")
  1249.  03h    BYTE    number of pipes to open (01h-64h)
  1250.  04h  N BYTEs    list of connection numbers
  1251. SeeAlso: #1008,#1009,#1012
  1252.  
  1253. Format of NetWare "Open Message Pipe" reply buffer:
  1254. Offset    Size    Description    (Table 1008)
  1255.  00h    WORD    (call) size of following results buffer (max 65h)
  1256.  02h    BYTE    number of connections
  1257.  03h  N BYTEs    list of results
  1258.         00h successful
  1259.         FEh incomplete (target half not yet created)
  1260.         FFh failed
  1261. SeeAlso: #1007,#1010,#1013
  1262. --------N-21E1--SF07-------------------------
  1263. INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
  1264.     AH = E1h subfn 07h
  1265.     DS:SI -> request buffer (see #1009)
  1266.     ES:DI -> reply buffer (see #1010)
  1267. Return: AL = status
  1268.         00h successful
  1269.         FCh full message queue
  1270.         FEh out of dynamic workspace
  1271. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1272. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h
  1273.  
  1274. Format of NetWare "Close Mesage Pipe" request buffer:
  1275. Offset    Size    Description    (Table 1009)
  1276.  00h    WORD    length of following data (max 66h)
  1277.  02h    BYTE    07h (subfunction "Close Message Pipe")
  1278.  03h    BYTE    number of pipes to close (01h-64h)
  1279.  04h  N BYTEs    list of connection numbers
  1280. SeeAlso: #1007,#1010
  1281.  
  1282. Format of NetWare "Close Message Pipe" reply buffer:
  1283. Offset    Size    Description    (Table 1010)
  1284.  00h    WORD    (call) size of following results buffer (max 65h)
  1285.  02h    BYTE    number of connections
  1286.  03h  N BYTEs    list of results
  1287.         00h successful
  1288.         FDh failed
  1289.         FFh no such pipe
  1290. SeeAlso: #1008,#1009
  1291. --------N-21E1--SF08-------------------------
  1292. INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
  1293.     AH = E1h subfn 08h
  1294.     DS:SI -> request buffer (see #1012)
  1295.     ES:DI -> reply buffer (see #1013)
  1296. Return: AL = status (see #1011)
  1297. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
  1298. SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h
  1299.  
  1300. (Table 1011)
  1301. Values for NetWare function status:
  1302.  00h    successful
  1303.  FCh    full message queue
  1304.  FEh    out of dynamic workspace
  1305.  
  1306. Format of NetWare "Check Pipe Status" request buffer:
  1307. Offset    Size    Description    (Table 1012)
  1308.  00h    WORD    length of following data (max 66h)
  1309.  02h    BYTE    08h (subfunction "Check Pipe Status")
  1310.  03h    BYTE    number of pipes to monitor (01h-64h)
  1311.  04h  N BYTEs    list of connection numbers
  1312. SeeAlso: #1007,#1013
  1313.  
  1314. Format of NetWare "Check Pipe Status" reply buffer:
  1315. Offset    Size    Description    (Table 1013)
  1316.  00h    WORD    (call) size of following results buffer (max 65h)
  1317.  02h    BYTE    number of connections
  1318.  03h  N BYTEs    list of pipe statuses
  1319.         00h open
  1320.         FEh incomplete
  1321.         FFh closed
  1322. SeeAlso: #1008,#1012
  1323. --------N-21E1--SF09-------------------------
  1324. INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
  1325.     AH = E1h subfn 09h
  1326.     DS:SI -> request buffer (see #1014)
  1327.     ES:DI -> reply buffer (see #1015)
  1328. Return: AL = status (see #1011)
  1329. Desc:    send a one-line message to the system console on the default file
  1330.       server
  1331. Note:    this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
  1332. SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
  1333.  
  1334. Format of NetWare "Broadcast to Console" request buffer:
  1335. Offset    Size    Description    (Table 1014)
  1336.  00h    WORD    length of following data (max 3Eh)
  1337.  02h    BYTE    09h (subfunction "Broadcast to Console")
  1338.  03h    BYTE    length of message (01h-3Ch)
  1339.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  1340. SeeAlso: #1015
  1341.  
  1342. Format of NetWare reply buffer:
  1343. Offset    Size    Description    (Table 1015)
  1344.  00h    WORD    (call) 0000h (no results returned)
  1345. SeeAlso: #1014
  1346. --------E-21E2-------------------------------
  1347. INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
  1348.     AH = E2h
  1349.     ???
  1350. Return: ???
  1351. SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"
  1352. --------N-21E2-------------------------------
  1353. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  1354.     AH = E2h
  1355.     AL = character
  1356. Return: AL = 00h successful
  1357.          01h buffer full (128 characters)
  1358. SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
  1359. SeeAlso: AH=F2h"DoubleDOS"
  1360. --------N-21E2--SF00-------------------------
  1361. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
  1362.     AH = E2h subfn 00h
  1363.     DS:SI -> request buffer (see #1017)
  1364.     ES:DI -> reply buffer (see #1018)
  1365. Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
  1366. Desc:    set the target handle to reference the directory specified by the
  1367.       source handle and the source path; both handles must refer to the
  1368.       same file server
  1369. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1370.       Alloy NTNX
  1371.     the target handle is not changed if this function fails
  1372. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h
  1373.  
  1374. (Table 1016)
  1375. Values for NetWare function status:
  1376.  00h    successful
  1377.  84h    not permitted to create
  1378.  8Ah    not permitted to delete
  1379.  8Bh    not permitted to rename
  1380.  8Ch    not permitted to modify
  1381.  98h    nonexistent volume
  1382.  9Bh    invalid directory handle
  1383.  9Ch    invalid path
  1384.  9Eh    invalid filename
  1385.  9Fh    directory currently in use
  1386.  A0h    directory not empty
  1387.  C6h    no console rights
  1388.  FCh    no such bindery object
  1389.  
  1390. Format of NetWare "Set Directory Handle" request buffer:
  1391. Offset    Size    Description    (Table 1017)
  1392.  00h    WORD    length of following data (max 103h)
  1393.  02h    BYTE    00h (subfunction "Set Directory Handle")
  1394.  03h    BYTE    directory handle of target
  1395.  04h    BYTE    directory handle of source
  1396.  05h    BYTE    length of source directory path (01h-FFh)
  1397.  06h  N BYTEs    source directory path
  1398.  
  1399. Format of NetWare reply buffer:
  1400. Offset    Size    Description    (Table 1018)
  1401.  00h    WORD    (call) 0000h (no results returned)
  1402. --------N-21E2--SF01-------------------------
  1403. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
  1404.     AH = E2h subfn 01h
  1405.     DS:SI -> request buffer (see #1019)
  1406.     ES:DI -> reply buffer (see #1020)
  1407. Return: AL = status (00h,9Bh) (see #1016)
  1408. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1409.       Alloy NTNX
  1410. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h
  1411.  
  1412. Format of NetWare "Get Directory Path" request buffer:
  1413. Offset    Size    Description    (Table 1019)
  1414.  00h    WORD    0002h (length of following data)
  1415.  02h    BYTE    01h (subfunction "Get Directory Path")
  1416.  03h    BYTE    directory handle
  1417. SeeAlso: #1020,#1021
  1418.  
  1419. Format of NetWare "Get Directory Path" reply buffer:
  1420. Offset    Size    Description    (Table 1020)
  1421.  00h    WORD    (call) length of following data buffer
  1422.  02h    BYTE    length of directory path (01h-FFh)
  1423.  03h  N BYTEs    full directory path including volume
  1424. SeeAlso: #1019,#1022
  1425. --------N-21E2--SF02-------------------------
  1426. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
  1427.     AH = E2h subfn 02h
  1428.     DS:SI -> request buffer (see #1021)
  1429.     ES:DI -> reply buffer (see #1022)
  1430. Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
  1431. Desc:    get information about the first or next subdirectory of the specified
  1432.       directory
  1433. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1434.       Alloy NTNX
  1435. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h
  1436.  
  1437. Format of NetWare "Scan Directory Information" request buffer:
  1438. Offset    Size    Description    (Table 1021)
  1439.  00h    WORD    length of following data (max 104h)
  1440.  02h    BYTE    02h (subfunction "Scan Directory Information")
  1441.  03h    BYTE    directory handle
  1442.  04h    WORD    (big-endian) subdirectory number
  1443.         0000h for first call, returned subdir number + 1 on next call
  1444.  06h    BYTE    length of directory path
  1445.  07h  N BYTEs    directory path
  1446. SeeAlso: #1019,#1022
  1447.  
  1448. Format of NetWare "Scan Directory Information" reply buffer:
  1449. Offset    Size    Description    (Table 1022)
  1450.  00h    WORD    (call) 001Ch (length of following data buffer)
  1451.  02h 16 BYTEs    subdirectory name
  1452.  12h    DWORD    (big-endian) date and time of creation (see #1023)
  1453.  16h    DWORD    (big-endian) object ID of owner
  1454.  1Ah    BYTE    maximum directory rights (see #1026)
  1455.  1Bh    BYTE    unused
  1456.  1Ch    WORD    (big-endian) subdirectory number
  1457. SeeAlso: #1020,#1021
  1458.  
  1459. Bitfields for NetWare date and time:
  1460. Bit(s)    Description    (Table 1023)
  1461.  31-25    year-1980
  1462.  24-21    month
  1463.  20-16    day
  1464.  15-11    hour
  1465.  10-5    minute
  1466.  4-0    second
  1467. --------N-21E2--SF03-------------------------
  1468. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
  1469.     AH = E2h subfn 03h
  1470.     DS:SI -> request buffer (see #1024)
  1471.     ES:DI -> reply buffer (see #1025)
  1472. Return: AL = status (00h,98h,9Bh) (see #1016)
  1473. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1474.       Alloy NTNX
  1475. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h
  1476.  
  1477. Format of NetWare "Get Effective Directory Rights" request buffer:
  1478. Offset    Size    Description    (Table 1024)
  1479.  00h    WORD    length of following data (max 102h)
  1480.  02h    BYTE    03h (subfunction "Get Effective Directory Rights")
  1481.  03h    BYTE    directory handle
  1482.  04h    BYTE    length of directory path (00h-FFh)
  1483.  05h  N BYTEs    directory path
  1484. SeeAlso: #1025,#1027
  1485.  
  1486. Format of NetWare "Get Effective Directory Rights" reply buffer:
  1487. Offset    Size    Description    (Table 1025)
  1488.  00h    WORD    (call) 0001h (length of following data buffer)
  1489.  02h    BYTE    effective directory rights (see #1026)
  1490. SeeAlso: #1024
  1491.  
  1492. Bitfields for NetWare directory rights:
  1493. Bit(s)    Description    (Table 1026)
  1494.  0    reading allowed
  1495.  1    writing allowed
  1496.  2    opens allowed
  1497.  3    file creation allowed
  1498.  4    deletion allowed
  1499.  5    "parental" may create/delete subdirectories and grant/revoke trustee
  1500.       rights
  1501.  6    directory search allowed
  1502.  7    file attributes may be changed
  1503. SeeAlso: #1025,#1027
  1504. --------N-21E2--SF04-------------------------
  1505. INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
  1506.     AH = E2h subfn 04h
  1507.     DS:SI -> request buffer (see #1027)
  1508.     ES:DI -> reply buffer (see #1028)
  1509. Return: AL = status (00h,8Ch,98h,9Ch) (see #1016)
  1510. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1511.       Alloy NTNX
  1512. SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh
  1513.  
  1514. Format of NetWare "Modify Maximum Rights Mask" request buffer:
  1515. Offset    Size    Description    (Table 1027)
  1516.  00h    WORD    length of following data (max 104h)
  1517.  02h    BYTE    04h (subfunction "Modify Maximum Rights Mask")
  1518.  03h    BYTE    directory handle
  1519.  04h    BYTE    rights to grant (see #1026)
  1520.  05h    BYTE    rights to revoke (see #1026)
  1521.  06h    BYTE    length of directory path (00h-FFh)
  1522.  07h  N BYTEs    directory path
  1523. Note:    the rights specified at offset 05h are revoked first, and then the
  1524.       rights specified at offset 04h are added to the resulting rights
  1525.       mask
  1526. SeeAlso: #1024,#1028
  1527.  
  1528. Format of NetWare reply buffer:
  1529. Offset    Size    Description    (Table 1028)
  1530.  00h    WORD    (call) 0000h (no results returned)
  1531. SeeAlso: #1027
  1532. --------N-21E2--SF05-------------------------
  1533. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
  1534.     AH = E2h subfn 05h
  1535.     DS:SI -> request buffer (see #1029)
  1536.     ES:DI -> reply buffer (see #1030)
  1537. Return: AL = status (00h,98h) (see #1016)
  1538. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1539.       Alloy NTNX
  1540. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
  1541.  
  1542. Format of NetWare "Get Volume Number" request buffer:
  1543. Offset    Size    Description    (Table 1029)
  1544.  00h    WORD    length of following data (max 12h)
  1545.  02h    BYTE    05h (subfunction "Get Volume Number")
  1546.  03h    BYTE    length of volume name (01h-10h)
  1547.  04h  N BYTEs    volume name
  1548. SeeAlso: #1030
  1549.  
  1550. Format of NetWare "Get Volume Number" reply buffer:
  1551. Offset    Size    Description    (Table 1030)
  1552.  00h    WORD    (call) 0001h (length of following results buffer)
  1553.  02h    BYTE    volume number
  1554. SeeAlso: #1029
  1555. --------N-21E2--SF06-------------------------
  1556. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
  1557.     AH = E2h subfn 06h
  1558.     DS:SI -> request buffer (see #1031)
  1559.     ES:DI -> reply buffer (see #1032)
  1560. Return: AL = status (00h,98h) (see #1016)
  1561. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1562.       Alloy NTNX
  1563. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
  1564. SeeAlso: AH=E3h/SF=E9h
  1565.  
  1566. Format of NetWare "Get Volume Name" request buffer:
  1567. Offset    Size    Description    (Table 1031)
  1568.  00h    WORD    0002h (length of following data)
  1569.  02h    BYTE    06h (subfunction "Get Volume Name")
  1570.  03h    BYTE    volume number
  1571. SeeAlso: #1032
  1572.  
  1573. Format of NetWare "Get Volume Name" reply buffer:
  1574. Offset    Size    Description    (Table 1032)
  1575.  00h    WORD    (call) 0011h (length of following results buffer)
  1576.  02h    BYTE    length of volume name
  1577.  03h 16 BYTEs    NUL-padded volume name
  1578. SeeAlso: #1031
  1579. --------N-21E2--SF0A-------------------------
  1580. INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
  1581.     AH = E2h subfn 0Ah
  1582.     DS:SI -> request buffer (see #1033)
  1583.     ES:DI -> reply buffer (see #1034)
  1584. Return: AL = status (00h,84h,98h,FCh) (see #1016)
  1585. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1586.       Alloy NTNX
  1587. SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh
  1588.  
  1589. Format of NetWare "Create Directory" request buffer:
  1590. Offset    Size    Description    (Table 1033)
  1591.  00h    WORD    length of following data (max 103h)
  1592.  02h    BYTE    0Ah (subfunction "Create Directory")
  1593.  03h    BYTE    directory handle
  1594.  04h    BYTE    maximum directory rights (see #1026)
  1595.  05h    BYTE    length of directory path (00h-FFh)
  1596.  06h  N BYTEs    directory path
  1597. SeeAlso: #1034,#1035
  1598.  
  1599. Format of NetWare reply buffer:
  1600. Offset    Size    Description    (Table 1034)
  1601.  00h    WORD    (call) 0000h (no data returned)
  1602. SeeAlso: #1033,#1035
  1603. --------N-21E2--SF0B-------------------------
  1604. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
  1605.     AH = E2h subfn 0Bh
  1606.     DS:SI -> request buffer (see #1035)
  1607.     ES:DI -> reply buffer (see #1034)
  1608. Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see #1016)
  1609. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1610.       Alloy NTNX
  1611. SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh
  1612.  
  1613. Format of NetWare "Delete Directory" request buffer:
  1614. Offset    Size    Description    (Table 1035)
  1615.  00h    WORD    length of following data (max 103h)
  1616.  02h    BYTE    0Bh (subfunction "Delete Directory")
  1617.  03h    BYTE    directory handle
  1618.  04h    BYTE    unused
  1619.  05h    BYTE    length of directory path (00h-FFh)
  1620.  06h  N BYTEs    directory path
  1621. SeeAlso: #1033,#1034
  1622. --------N-21E2--SF0C-------------------------
  1623. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
  1624.     AH = E2h subfn 0Ch
  1625.     DS:SI -> request buffer (see #1036)
  1626.     ES:DI -> reply buffer (see #1037)
  1627. Return: AL = status (00h,9Ch) (see also #1016)
  1628.         9Ch no more trustees
  1629. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1630. SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1631.  
  1632. Format of NetWare "Scan Directory For Trustees" request buffer:
  1633. Offset    Size    Description    (Table 1036)
  1634.  00h    WORD    length of following data (max 103h)
  1635.  02h    BYTE    0Ch (subfunction "Scan Directory For Trustees")
  1636.  03h    BYTE    directory handle
  1637.  04h    BYTE    sequence number
  1638.         00h on first call, increment for each subsequent call
  1639.  05h    BYTE    length of directory path (00h-FFh)
  1640.  06h  N BYTEs    directory path
  1641. SeeAlso: #1037,#1038
  1642.  
  1643. Format of NetWare "Scan Directory For Trustees" reply buffer:
  1644. Offset    Size    Description    (Table 1037)
  1645.  00h    WORD    (call) 0031h (length of following results buffer)
  1646.  02h 16 BYTEs    directory name
  1647.  12h  4 BYTEs    date and time of creation
  1648.  16h    DWORD    (big-endian) object ID of owner
  1649.  1Ah  5 DWORDs    (big-endian) object IDs of Trustees 0 through 4
  1650.         00000000h = end of group
  1651.  2Eh  5 BYTEs    directory rights for Trustees 0 through 4 (see #1026)
  1652. SeeAlso: #1036,#1040
  1653. --------N-21E2--SF0D-------------------------
  1654. INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
  1655.     AH = E2h subfn 0Dh
  1656.     DS:SI -> request buffer (see #1038)
  1657.     ES:DI -> reply buffer (see #1040)
  1658. Return: AL = status (00h,8Ch,FCh) (see #1016)
  1659. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1660.       Alloy NTNX
  1661. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h
  1662.  
  1663. Format of NetWare "Add Trustee To Directory" request buffer:
  1664. Offset    Size    Description    (Table 1038)
  1665.  00h    WORD    length of following data (max 107h)
  1666.  02h    BYTE    0Dh (subfunction "Add Trustee To Directory")
  1667.  03h    BYTE    directory handle
  1668.  04h    DWORD    (big-endian) object ID of trustee
  1669.  08h    BYTE    trustee directory rights (see #1026)
  1670.  09h    BYTE    length of directory path (00h-FFh)
  1671.  0Ah  N BYTEs    directory path
  1672. SeeAlso: #1040
  1673. --------N-21E2--SF0E-------------------------
  1674. INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
  1675.     AH = E2h subfn 0Eh
  1676.     DS:SI -> request buffer (see #1039)
  1677.     ES:DI -> reply buffer (see #1040)
  1678. Return: AL = status (00h,98h,9Bh,9Ch) (see #1016)
  1679. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1680.       Alloy NTNX
  1681. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh
  1682.  
  1683. Format of NetWare "Delete Trustee From Directory" request buffer:
  1684. Offset    Size    Description    (Table 1039)
  1685.  00h    WORD    length of following data (max 107h)
  1686.  02h    BYTE    0Eh (subfunction "Delete Trustee From Directory")
  1687.  03h    BYTE    directory handle
  1688.  04h    DWORD    (big-endian) object ID of trustee
  1689.  08h    BYTE    unused
  1690.  09h    BYTE    length of directory path (00h-FFh)
  1691.  0Ah  N BYTEs    directory path
  1692. SeeAlso: #1040
  1693.  
  1694. Format of NetWare reply buffer:
  1695. Offset    Size    Description    (Table 1040)
  1696.  00h    WORD    (call) 0000h (no data returned)
  1697. --------N-21E2--SF0F-------------------------
  1698. INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
  1699.     AH = E2h subfn 0Fh
  1700.     DS:SI -> request buffer (see #1041)
  1701.     ES:DI -> reply buffer (see #1040)
  1702. Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see #1016)
  1703. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1704.       Alloy NTNX
  1705.     directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
  1706. SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh
  1707.  
  1708. Format of NetWare "Rename Directory" request buffer:
  1709. Offset    Size    Description    (Table 1041)
  1710.  00h    WORD    length of following data (max 111h)
  1711.  02h    BYTE    0Fh (subfunction "Rename Directory")
  1712.  03h    BYTE    directory handle
  1713.  04h    BYTE    length of directory path (00h-FFh)
  1714.  05h  N BYTEs    directory path
  1715.     BYTE    length of new directory name (01h-0Eh)
  1716.       N BYTEs    new directory name
  1717. --------N-21E2--SF10-------------------------
  1718. INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES
  1719.     AH = E2h subfn 10h
  1720.     DS:SI -> request buffer (see #1042)
  1721.     ES:DI -> reply buffer (see #1040)
  1722. Return: AL = status (00h,C6h) (see #1043)
  1723. Desc:    purges files marked for deletion on the file server by the calling
  1724.       workstation
  1725. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1726.       Alloy NTNX
  1727. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h
  1728.  
  1729. Format of NetWare "Purge Erased Files" request buffer:
  1730. Offset    Size    Description    (Table 1042)
  1731.  00h    WORD    0001h (length of following data)
  1732.  02h    BYTE    10h (subfunction "Purge Erased Files")
  1733. --------N-21E2--SF11-------------------------
  1734. INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE
  1735.     AH = E2h subfn 11h
  1736.     DS:SI -> request buffer (see #1044)
  1737.     ES:DI -> reply buffer (see #1045)
  1738. Return: AL = status (00h,98h,FFh) (see #1043)
  1739. Desc:    restores one file marked for deletion which has not yet been purged
  1740. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1741.       Alloy NTNX
  1742. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h
  1743.  
  1744. (Table 1043)
  1745. Values for NetWare function status:
  1746.  00h    successful
  1747.  98h    nonexistent volume
  1748.  9Ch    invalid path
  1749.  C6h    no console rights
  1750.  FFh    no more erased files
  1751.  
  1752. Format of NetWare "Restore Erased File" request buffer:
  1753. Offset    Size    Description    (Table 1044)
  1754.  00h    WORD    length of following data (max 13h)
  1755.  02h    BYTE    11h (subfunction "Restore Erased File")
  1756.  03h    BYTE    directory handle or 00h
  1757.  04h    BYTE    length of volume name
  1758.  05h  N BYTEs    volume name (including colon)
  1759. Note:    if both a directory handle and a volume name are specified, the volume
  1760.       name overrides the handle
  1761. SeeAlso: #1045
  1762.  
  1763. Format of NetWare "Restore Erased File" reply buffer:
  1764. Offset    Size    Description    (Table 1045)
  1765.  00h    WORD    (call) 001Eh (size of following results buffer)
  1766.  02h 15 BYTEs    ASCIZ name of erased file
  1767.  11h 15 BYTEs    ASCIZ name under which file was restored
  1768. SeeAlso: #1044
  1769. --------N-21E2--SF12-------------------------
  1770. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
  1771.     AH = E2h subfn 12h
  1772.     DS:SI -> request buffer (see #1046)
  1773.     ES:DI -> reply buffer (see #1047)
  1774. Return: AL = status (00h,98h,9Ch) (see #1043)
  1775. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1776.       Alloy NTNX
  1777. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h
  1778.  
  1779. Format of NetWare "Allocate Permanent Directory Handle" request buffer:
  1780. Offset    Size    Description    (Table 1046)
  1781.  00h    WORD    length of following data (max 103h)
  1782.  02h    BYTE    12h (subfunction "Allocate Permanent Directory Handle")
  1783.  03h    BYTE    directory handle
  1784.  04h    BYTE    drive ('A'-'Z')
  1785.  05h    BYTE    length of directory path
  1786.  06h  N BYTEs    directory path
  1787. SeeAlso: #1047,#1048
  1788.  
  1789. Format of NetWare reply buffer:
  1790. Offset    Size    Description    (Table 1047)
  1791.  00h    WORD    (call) 0002h (size of following results buffer)
  1792.  02h    BYTE    new directory handle
  1793.  03h    BYTE    effective directory rights (see #1026)
  1794. --------N-21E2--SF13-------------------------
  1795. INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
  1796.     AH = E2h subfn 13h
  1797.     DS:SI -> request buffer (see #1048)
  1798.     ES:DI -> reply buffer (see #1050)
  1799. Return: AL = status (00h,98h,9Ch) (see #1043)
  1800. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1801.       Alloy NTNX
  1802.     this call is the same as AH=E2h/SF=12h except that the directory handle
  1803.       will be automatically deallocated when the calling application
  1804.       executes an End of Job call (AH=D6h) or terminates
  1805. SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
  1806.  
  1807. Format of NetWare "Allocate Temporary Directory Handle" request buffer:
  1808. Offset    Size    Description    (Table 1048)
  1809.  00h    WORD    length of following data (max 103h)
  1810.  02h    BYTE    13h (subfunction "Allocate Temporary Directory Handle")
  1811.  03h    BYTE    directory handle
  1812.  04h    BYTE    drive ('A'-'Z')
  1813.  05h    BYTE    length of directory path
  1814.  06h  N BYTEs    directory path
  1815. SeeAlso: #1046,#1049
  1816. --------N-21E2--SF14-------------------------
  1817. INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
  1818.     AH = E2h subfn 14h
  1819.     DS:SI -> request buffer (see #1049)
  1820.     ES:DI -> reply buffer (see #1050)
  1821. Return: AL = status (00h,9Bh) (see #1016)
  1822. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1823.       Alloy NTNX
  1824. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h
  1825.  
  1826. Format of NetWare request buffer:
  1827. Offset    Size    Description    (Table 1049)
  1828.  00h    WORD    0002h (length of following data)
  1829.  02h    BYTE    14h (subfunction "Deallocate Directory Handle")
  1830.  03h    BYTE    directory handle
  1831.  
  1832. Format of NetWare reply buffer:
  1833. Offset    Size    Description    (Table 1050)
  1834.  00h    WORD    (call) 0000h (no returned data)
  1835. --------N-21E2--SF15-------------------------
  1836. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
  1837.     AH = E2h subfn 15h
  1838.     DS:SI -> request buffer (see #1051)
  1839.     ES:DI -> reply buffer (see #1052)
  1840. Return: AL = status
  1841.         00h successful
  1842. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1843.       Alloy NTNX
  1844. SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
  1845.  
  1846. Format of NetWare request buffer:
  1847. Offset    Size    Description    (Table 1051)
  1848.  00h    WORD    0002h (length of following data)
  1849.  02h    BYTE    15h (subfunction "Get Volume Info With Handle")
  1850.  03h    BYTE    directory handle
  1851.  
  1852. Format of NetWare reply buffer:
  1853. Offset    Size    Description    (Table 1052)
  1854.  00h    WORD    (call) 001Ch (length of following results buffer)
  1855.  02h    WORD    (big-endian) sectors per block
  1856.  04h    WORD    (big-endian) total blocks on volume
  1857.  06h    WORD    (big-endian) blocks available on volume
  1858.  08h    WORD    (big-endian) total directory slots
  1859.  0Ah    WORD    (big-endian) directory slots available
  1860.  0Ch 16 BYTEs    NUL-padded volume name
  1861.  1Ch    WORD    (big-endian) flag: volume removable if nonzero
  1862. --------N-21E2--SF16-------------------------
  1863. INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
  1864.     AH = E2h subfn 16h
  1865.     DS:SI -> request buffer (see #1053)
  1866.     ES:DI -> reply buffer
  1867. Return: AL = status
  1868. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
  1869.       but is not described in _NetWare_System_Calls--DOS_
  1870. SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h
  1871.  
  1872. Format of NetWare request buffer:
  1873. Offset    Size    Description    (Table 1053)
  1874.  00h    WORD    length of following data
  1875.  02h    BYTE    16h (subfunction "Allocate Special Temporary Directory Handle")
  1876.     ???
  1877. --------N-21E2--SF17-------------------------
  1878. INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
  1879.     AH = E2h subfn 17h
  1880.     DS:SI -> request buffer (see #1054)
  1881.     ES:DI -> reply buffer (see #1055)
  1882. Return: AL = status
  1883.         00h successful
  1884.         else network error code
  1885. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1886. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1887.  
  1888. Format of NetWare request buffer:
  1889. Offset    Size    Description    (Table 1054)
  1890.  00h    WORD    0002h (length of following data)
  1891.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1892.  03h    BYTE    directory handle
  1893.  
  1894. Format of NetWare reply buffer:
  1895. Offset    Size    Description    (Table 1055)
  1896.  00h    WORD    (call) 0010h (length of following results buffer)
  1897.  02h 16 BYTEs    save buffer
  1898. --------N-21E2--SF18-------------------------
  1899. INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
  1900.     AH = E2h subfn 18h
  1901.     DS:SI -> request buffer (see #1056)
  1902.     ES:DI -> reply buffer (see #1057)
  1903. Return: AL = status
  1904.         00h successful
  1905.         else network error code
  1906. Desc:    restore a previously saved directory handle to reproduce an executing
  1907.       environment, possibly on a different execution site
  1908. Note:    this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
  1909. SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h
  1910.  
  1911. Format of NetWare request buffer:
  1912. Offset    Size    Description    (Table 1056)
  1913.  00h    WORD    0011h (length of following data)
  1914.  02h    BYTE    18h (subfunction "Restore Directory Handle")
  1915.  03h 16 BYTEs    save buffer
  1916.  
  1917. Format of NetWare reply buffer:
  1918. Offset    Size    Description    (Table 1057)
  1919.  00h    WORD    (call) 0002h (length of following results buffer)
  1920.  02h    BYTE    new directory handle
  1921.  03h    BYTE    effective rights (see #1026)
  1922. --------N-21E2--SF19-------------------------
  1923. INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
  1924.     AH = E2h subfn 19h
  1925.     DS:SI -> request buffer (see #1058)
  1926.     ES:DI -> reply buffer (see #1059)
  1927. Return: AL = status (00h,9Bh,9Ch) (see #1016)
  1928. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  1929. SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh
  1930.  
  1931. Format of NetWare request buffer:
  1932. Offset    Size    Description    (Table 1058)
  1933.  00h    WORD    length of following data (max 10Bh)
  1934.  02h    BYTE    19h (subfunction "Set Directory Information")
  1935.  03h    BYTE    directory handle
  1936.  04h    DWORD    (big-endian) date and time of creation
  1937.  08h    DWORD    (big-endian) object ID of owner
  1938.  0Ch    BYTE    maximum directory rights (see #1026)
  1939.  0Dh    BYTE    length of directory path
  1940.  0Eh  N BYTEs    directory path
  1941.  
  1942. Format of NetWare reply buffer:
  1943. Offset    Size    Description    (Table 1059)
  1944.  00h    WORD    (call) 0000h (no results returned)
  1945. --------N-21E2--SF1A-------------------------
  1946. INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
  1947.     AH = E2h subfn 1Ah
  1948.     DS:SI -> request buffer (see #1060)
  1949.     ES:DI -> reply buffer (see #1061)
  1950. Return: AL = status
  1951.         00h successful
  1952. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  1953.       Alloy NTNX
  1954. SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h
  1955.  
  1956. Format of NetWare request buffer:
  1957. Offset    Size    Description    (Table 1060)
  1958.  00h    WORD    0004h (length of following data)
  1959.  02h    BYTE    1Ah (subfunction "Get Path From Directory Entry")
  1960.  03h    BYTE    volume number (00h-1Fh)
  1961.  04h    WORD    (big-endian) directory entry number
  1962.  
  1963. Format of NetWare reply buffer:
  1964. Offset    Size    Description    (Table 1061)
  1965.  00h    WORD    (call) size of following results record (max 200h)
  1966.  02h 256 BYTEs    path
  1967. --------E-21E3-------------------------------
  1968. INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
  1969.     AH = E3h
  1970.     AL = interrupt number
  1971.     ???
  1972. Return: ???
  1973. Note:    protected mode only???
  1974. SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h
  1975. --------T-21E3-------------------------------
  1976. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  1977.     AH = E3h
  1978.     AL = character
  1979. Return: AL = status
  1980.         00h successful
  1981.         01h buffer full (128 characters)
  1982. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
  1983. SeeAlso: AH=F3h"DoubleDOS"
  1984. --------N-21E3-------------------------------
  1985. INT 21 - Novell NetWare - CONNECTION CONTROL
  1986.     AH = E3h
  1987.     DS:SI -> request buffer (see #1062)
  1988.     ES:DI -> reply buffer (see #1063)
  1989. Return: AL = status
  1990.         00h successful
  1991.         else error code
  1992. Note:    supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
  1993. SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h
  1994.  
  1995. Format of NetWare request buffer:
  1996. Offset    Size    Description    (Table 1062)
  1997.  00h    WORD    length of following data
  1998.  02h    BYTE    subfunction number
  1999.         00h login
  2000.         01h change password
  2001.         02h map user to station set
  2002.         03h map object to number
  2003.         04h map number to object
  2004.         05h get station's logged information
  2005.         06h get station's root mask (obsolete)
  2006.         07h map group name to number
  2007.         08h map number to group name
  2008.         09h get memberset M of group G
  2009.     var    depends on subfunction
  2010. Notes:    the above subfunctions are not described in _NetWare_System_Calls--DOS_
  2011.     see separate entries below for other subfunctions
  2012. SeeAlso: #1063,#1064,#1067
  2013.  
  2014. Format of NetWare reply buffer:
  2015. Offset    Size    Description    (Table 1063)
  2016.  00h    WORD    (call) length of following buffer space for results
  2017.     var    depends on subfunction
  2018. SeeAlso: #1062
  2019.  
  2020. Format of NetWare object property:
  2021. Offset    Size    Description    (Table 1064)
  2022.  00h 1-16 BYTEs property name (see also #1065)
  2023.   N    BYTE    flags
  2024.         bit 0: property is dynamic
  2025.         bit 1: property is a set rather than an item
  2026.  N+1    BYTE    security levels (see #1066)
  2027.     ???
  2028.  
  2029. (Table 1065)
  2030. Values for names of well-known NetWare properties:
  2031.  ACCOUNT_BALANCE
  2032.  ACCOUNT_SERVERS
  2033.  GROUP_MEMBERS
  2034.  GROUPS_I'M_IN
  2035.  IDENTIFICATION        user's name
  2036.  LOGIN_CONTROL
  2037.  NET_ADDRESS
  2038.  OPERATORS
  2039.  PASSWORD
  2040.  SECURITY_EQUALS
  2041.  
  2042. (Table 1066)
  2043. Values for NetWare security levels:
  2044.  00h    "anyone" everyone may access
  2045.  01h    "logged" only logged-in clients may access
  2046.  02h    "object" only clients logged-in with object's name, type, and password
  2047.  03h    "supervisor" only clients logged-in with supervisor privileges
  2048.  04h    "NetWare" only NetWare may access
  2049. Note:    the above values are stored in a nybble; the high half-byte is write
  2050.       access and the low half-byte is read access
  2051.  
  2052. (Table 1067)
  2053. Values for NetWare object type:
  2054.  0000h    unknown
  2055.  0001h    user
  2056.  0002h    user group
  2057.  0003h    print queue
  2058.  0004h    file server
  2059.  0005h    job server
  2060.  0006h    gateway
  2061.  0007h    print server
  2062.  0008h    archive queue
  2063.  0009h    archive server
  2064.  000Ah    job queue
  2065.  000Bh    administration
  2066.  0026h    remote bridge server
  2067.  0047h    advertising print server
  2068.  0048h-8000h reserved
  2069.  FFFFh    wild (used only for finding objects)
  2070. --------N-21E3--SF0A-------------------------
  2071. INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
  2072.     AH = E3h subfn 0Ah
  2073.     DS:SI -> request buffer (see #1068)
  2074.     ES:DI -> reply buffer (see #1069)
  2075. Return: AL = status
  2076.         00h successful
  2077. Desc:    change the login directory for the calling workstation
  2078. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2079.       Alloy NTNX
  2080. SeeAlso: AH=D7h,AH=E3h/SF=14h
  2081.  
  2082. Format of NetWare request buffer:
  2083. Offset    Size    Description    (Table 1068)
  2084.  00h    WORD    length of following data (max 102h)
  2085.  02h    BYTE    0Ah (subfunction "Enter Login Area")
  2086.  03h    BYTE    number of local drives
  2087.  04h    BYTE    length of subdirectory name (00h-FFh)
  2088.  05h  N BYTEs    name of subdirectory under SYS:LOGIN where to find the login
  2089.           utility
  2090.  
  2091. Format of NetWare reply buffer:
  2092. Offset    Size    Description    (Table 1069)
  2093.  00h    WORD    (call) 0000h (no data returned)
  2094. --------N-21E3--SF0C-------------------------
  2095. INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
  2096.     AH = E3h subfn 0Ch
  2097.     DS:SI -> request buffer (see #1070)
  2098.     ES:DI -> reply buffer (see #1071)
  2099. Return: AL = status
  2100.         00h successful
  2101. Note:    if the network serial number to be verified is correct, the reply
  2102.       buffer will contain the corresponding application number
  2103. SeeAlso: AH=E3h/SF=12h
  2104.  
  2105. Format of NetWare request buffer:
  2106. Offset    Size    Description    (Table 1070)
  2107.  00h    WORD    0005h (length of following data)
  2108.  02h    BYTE    0Ch (subfunction "Verify Network Serial Number")
  2109.  03h    DWORD    (big-endian) network serial number to verify
  2110.  
  2111. Format of NetWare reply buffer:
  2112. Offset    Size    Description    (Table 1071)
  2113.  00h    WORD    (call) 0002h (size of following results buffer)
  2114.  02h    WORD    (big-endian) application number
  2115. --------N-21E3--SF0D-------------------------
  2116. INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
  2117.     AH = E3h subfn 0Dh
  2118.     DS:SI -> request buffer (see #1072)
  2119.     ES:DI -> reply buffer (see #1069)
  2120. Return: AL = status
  2121.         00h successful
  2122. Desc:    append a line to the default file server's NET$LOG.MSG file
  2123. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  2124.       Alloy NTNX
  2125. SeeAlso: AH=E1h/SF=09h
  2126.  
  2127. Format of NetWare request buffer:
  2128. Offset    Size    Description    (Table 1072)
  2129.  00h    WORD    length of following data (max 52h)
  2130.  02h    BYTE    0Dh (subfunction "Log Network Message")
  2131.  03h    BYTE    length of message (01h-50h)
  2132.  04h  N BYTEs    message (no control characters or characters > 7Eh)
  2133. --------N-21E3--SF0E-------------------------
  2134. INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
  2135.     AH = E3h subfn 0Eh
  2136.     DS:SI -> request buffer (see #1074)
  2137.     ES:DI -> reply buffer (see #1075)
  2138. Return: AL = status (00h,98h,F2h) (see #1073)
  2139. Notes:    this function is supported by Advanced NetWare 2.1+
  2140.     the caller must have bindery object read privileges
  2141. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  2142.  
  2143. (Table 1073)
  2144. Values for NetWare function status:
  2145.  00h    successful
  2146.  98h    nonexistent volume
  2147.  F2h    not permitted to read object
  2148.  
  2149. Format of NetWare request buffer:
  2150. Offset    Size    Description    (Table 1074)
  2151.  00h    WORD    0005h (length of following data)
  2152.  02h    BYTE    0Eh (subfunction "Get Disk Utilization")
  2153.  03h    BYTE    volume number (00h-1Fh)
  2154.  04h    DWORD    (big-endian) object ID
  2155.  
  2156. Format of NetWare reply buffer:
  2157. Offset    Size    Description    (Table 1075)
  2158.  00h    WORD    (call) 000Bh (size of following results buffer)
  2159.  02h    BYTE    volume number (00h-1Fh)
  2160.  03h    DWORD    (big-endian) object ID
  2161.  07h    WORD    (big-endian) directories used by object
  2162.  09h    WORD    (big-endian) files created by object
  2163.  0Bh    WORD    (big-endian) disk blocks used by object-created files
  2164. --------N-21E3--SF0F-------------------------
  2165. INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
  2166.     AH = E3h subfn 0Fh
  2167.     DS:SI -> request buffer (see #1077)
  2168.     ES:DI -> reply buffer (see #1078)
  2169. Return: AL = status (see #1076)
  2170. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2171. SeeAlso: AH=B6h,AH=E3h/SF=10h
  2172.  
  2173. (Table 1076)
  2174. Values for NetWare function status:
  2175.  00h    successful
  2176.  89h    not permitted to search directory
  2177.  FFh    no more matching files
  2178.  
  2179. Format of NetWare request buffer:
  2180. Offset    Size    Description    (Table 1077)
  2181.  00h    WORD    length of following data (max 105h)
  2182.  02h    BYTE    0Fh (subfunction "Scan File Information")
  2183.  03h    WORD    (big-endian) sequence number
  2184.         FFFFh on first call
  2185.  05h    BYTE    directory handle or 00h
  2186.  06h    BYTE    search attributes (see #0643 at AX=4301h)
  2187.  07h    BYTE    length of filespec
  2188.  08h  N BYTEs    ASCIZ uppercase filespec
  2189.  
  2190. Format of NetWare reply buffer:
  2191. Offset    Size    Description    (Table 1078)
  2192.  00h    WORD    (call) 005Eh (size of following results buffer)
  2193.  02h    WORD    next sequence number (place in request buffer for next call)
  2194.  04h 14 BYTEs    ASCIZ filename
  2195.  12h    BYTE    file attributes (see #0643 at AX=4301h)
  2196.  13h    BYTE    extended file attributes (see #0982 at AH=B6h)
  2197.  14h    DWORD    (big-endian) file size in bytes
  2198.  18h    WORD    (big-endian) file's creation date (see #0877 at AX=5700h)
  2199.  1Ah    WORD    (big-endian) date of last access (see #0876 at AX=5700h)
  2200.  1Ch    DWORD    (big-endian) date and time of last update (see #1023)
  2201.  20h    DWORD    (big-endian) object ID of owner
  2202.  24h    DWORD    (big-endian) date and time last archived (see #1023)
  2203.  28h 55 BYTEs    reserved
  2204. Note:    the official documentation erroneously lists the field at offset 04h as
  2205.       15 bytes and thus shifts the remaining fields by one byte
  2206. --------N-21E3--SF10-------------------------
  2207. INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
  2208.     AH = E3h subfn 10h
  2209.     DS:SI -> request buffer (see #1079)
  2210.     ES:DI -> reply buffer (see #1080)
  2211. Return: AL = status
  2212.         00h successful
  2213. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2214.     the caller must have modify privileges on the directory containing the
  2215.       file
  2216. SeeAlso: AH=B6h,AH=E3h/SF=0Fh
  2217.  
  2218. Format of NetWare request buffer:
  2219. Offset    Size    Description    (Table 1079)
  2220.  00h    WORD    length of following data (max 151h)
  2221.  02h    BYTE    10h (subfunction "Set File Information")
  2222.  03h    BYTE    file attributes (see #0643 at AX=4301h)
  2223.  04h    BYTE    extended file attributes (see #0982 at AH=B6h)
  2224.  05h  4 BYTEs    reserved
  2225.  09h    WORD    (big-endian) file's creation date (see #0877 at AX=5700h)
  2226.  0Bh    WORD    (big-endian) date of last access (see #0876 at AX=5700h)
  2227.  0Dh    DWORD    (big-endian) date and time of last update (see #1023)
  2228.  11h    DWORD    (big-endian) object ID of owner
  2229.  15h    DWORD    (big-endian) date and time last archived (see #1023)
  2230.  19h 56 BYTEs    reserved
  2231.  51h    BYTE    directory handle or 00h
  2232.  52h    BYTE    search attributes (see #0643 at AX=4301h)
  2233.  53h    BYTE    length of filename
  2234.  54h  N BYTEs    filename
  2235.  
  2236. Format of NetWare reply buffer:
  2237. Offset    Size    Description    (Table 1080)
  2238.  00h    WORD    (call) 0000h (no results returned)
  2239. --------N-21E3--SF11-------------------------
  2240. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
  2241.     AH = E3h subfn 11h
  2242.     DS:SI -> request buffer (see #1081)
  2243.     ES:DI -> reply buffer (see #1082)
  2244. Return: AL = status
  2245.         00h successful
  2246. Desc:    determine the version of software installed on the file server and
  2247.       how it is configured
  2248. Note:    this function is supported by Advanced NetWare 2.1+
  2249. SeeAlso: AH=E3h/SF=0Eh,AE3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
  2250. SeeAlso: AH=E7h
  2251.  
  2252. Format of NetWare request buffer:
  2253. Offset    Size    Description    (Table 1081)
  2254.  00h    WORD    0001h (length of following data)
  2255.  02h    BYTE    11h (subfunction "Get File Server Information")
  2256.  
  2257. Format of NetWare reply buffer:
  2258. Offset    Size    Description    (Table 1082)
  2259.  00h    WORD    (call) 0080h (size of following results buffer)
  2260.  02h 48 BYTEs    server's name
  2261.  32h    BYTE    NetWare version
  2262.  33h    BYTE    NetWare subversion (0-99)
  2263.  34h    WORD    (big-endian) number of connections supported
  2264.         NetWare 4.01 reportedly returns maximum simulataneously-used
  2265.           connections
  2266.  36h    WORD    (big-endian) number of connections in use
  2267.  38h    WORD    (big-endian) maximum connected volumes
  2268. ---Advanced NetWare 2.1+ ---
  2269.  3Ah    BYTE    operating system revision number
  2270.  3Bh    BYTE    fault tolerance (SFT) level
  2271.  3Ch    BYTE    TTS level
  2272.  3Dh    WORD    (big-endian) maximum simultaneously-used connections
  2273.         NetWare 4.01 reportedly returns number of connections in use
  2274.  3Fh    BYTE    accounting version
  2275.  40h    BYTE    VAP version
  2276.  41h    BYTE    queueing version
  2277.  42h    BYTE    print server version
  2278.  43h    BYTE    virtual console version
  2279.  44h    BYTE    security restrictions level
  2280.  45h    BYTE    internetwork bridge version
  2281.  46h 60 BYTEs    reserved
  2282. --------N-21E3--SF12-------------------------
  2283. INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
  2284.     AH = E3h subfn 12h
  2285.     AL = 00h
  2286.     BX = CX = DX = 0000h
  2287.     DS:SI -> request buffer (see #1083)
  2288.     ES:DI -> reply buffer (see #1084)
  2289. Return: AL = status
  2290.         00h successful
  2291. Desc:    return the serial number and application number for the software
  2292.       installed on the file server
  2293. Notes:    this function is supported by Advanced NetWare 2.1+
  2294.     reportedly, the workstation crashes if AL,BX,CX, and DX are not all
  2295.       zero
  2296. SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h
  2297.  
  2298. Format of NetWare request buffer:
  2299. offset     size    description    (Table 1083)
  2300.  00h     WORD    0001h (length of following data)
  2301.  02h     BYTE    12h (subfunction "Get Serial Number")
  2302.  
  2303. Format of NetWare reply buffer:
  2304. offset     size    description    (Table 1084)
  2305.  00h     WORD    (call) 0006h (size of following results buffer)
  2306.  02h   4 BYTEs    (big-endian) NetWare server serial number
  2307.  06h   2 BYTEs    (big-endian) NetWare application serial number
  2308. --------N-21E3--SF13-------------------------
  2309. INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS
  2310.     AH = E3h subfn 13h
  2311.     DS:SI -> request buffer (see #1085)
  2312.     ES:DI -> reply buffer (see #1086)
  2313. Return: AL = status
  2314.         00h successful
  2315. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2316. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare"
  2317.  
  2318. Format of NetWare request buffer:
  2319. Offset    Size    Description    (Table 1085)
  2320.  00h    WORD    0002h (length of following data)
  2321.  02h    BYTE    13h (subfunction "Get Internet Address")
  2322.  03h    BYTE    logical connection number (01h-64h)
  2323.  
  2324. Format of NetWare reply buffer:
  2325. Offset    Size    Description    (Table 1086)
  2326.  00h    WORD    (call) 000Ch (length of following results buffer)
  2327.  02h  4 BYTEs    network number
  2328.  06h  6 BYTEs    physical node address
  2329.  0Ch  2 BYTEs    socket number
  2330. --------N-21E3--SF14-------------------------
  2331. INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
  2332.     AH = E3h subfn 14h
  2333.     DS:SI -> request buffer (see #1087)
  2334.     ES:DI -> reply buffer (see #1088)
  2335. Return: AL = status
  2336.         00h successful
  2337. Desc:    this function retrieves a list indicating the connection numbers under
  2338.       which a bindery object is logged into the default file server
  2339. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2340. SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare"
  2341.  
  2342. Format of NetWare request buffer:
  2343. Offset    Size    Description    (Table 1087)
  2344.  00h    WORD    length of following data (max B3h)
  2345.  02h    BYTE    14h (subfunction "Login To File Server")
  2346.  03h    WORD    (big-endian) type of object
  2347.  05h    BYTE    length of object's name (01h-2Fh)
  2348.  06h  N BYTEs    object's name
  2349.     BYTE    length of password
  2350.       N BYTEs    password
  2351.  
  2352. Format of NetWare reply buffer:
  2353. Offset    Size    Description    (Table 1088)
  2354.  00h    WORD    (call) 0000h (no data returned)
  2355. --------N-21E3--SF15-------------------------
  2356. INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION NUMBERS
  2357.     AH = E3h subfn 15h
  2358.     DS:SI -> request buffer (see #1089)
  2359.     ES:DI -> reply buffer (see #1090)
  2360. Return: AL = status
  2361.         00h successful
  2362. Desc:    this function retrieves a list indicating the connection numbers under
  2363.       which a bindery object is logged into the default file server
  2364. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2365. SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h
  2366.  
  2367. Format of NetWare request buffer:
  2368. Offset    Size    Description    (Table 1089)
  2369.  00h    WORD    length of following data (max 33h)
  2370.  02h    BYTE    15h (subfunction "Get Object Connection Numbers")
  2371.  03h    WORD    (big-endian) type of object
  2372.  05h    BYTE    length of object's name (01h-2Fh)
  2373.  06h  N BYTEs    object's name
  2374.  
  2375. Format of NetWare reply buffer:
  2376. Offset    Size    Description    (Table 1090)
  2377.  00h    WORD    (call) length of following results buffer (max 65h)
  2378.  02h    BYTE    number of connections
  2379.  03h  N BYTEs    connection list
  2380. --------N-21E3--SF16-------------------------
  2381. INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
  2382.     AH = E3h subfn 16h
  2383.     DS:SI -> request buffer (see #1091)
  2384.     ES:DI -> reply buffer (see #1092)
  2385. Return: AL = status
  2386.         00h successful
  2387. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2388. SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h
  2389.  
  2390. Format of NetWare request buffer:
  2391. Offset    Size    Description    (Table 1091)
  2392.  00h    WORD    0002h (length of following data)
  2393.  02h    BYTE    16h (subfunction "Get Connection Information")
  2394.  03h    BYTE    logical connection number (01h-64h)
  2395.  
  2396. Format of NetWare reply buffer:
  2397. Offset    Size    Description    (Table 1092)
  2398.  00h    WORD    (call) 003Eh (length of following results buffer)
  2399.  02h    DWORD    (big-endian) object ID for object logged in on the connection
  2400.         00000000h if no object logged in
  2401.  06h    WORD    (big-endian) type of object
  2402.  08h 48 BYTEs    name of object
  2403.  38h  7 BYTEs    login time (see #1093)
  2404. Note:    much of the Novell documentation incorrectly states the reply buffer
  2405.       length as 3Fh instead of 40h, which corresponds to a results length
  2406.       of 3Dh (61) bytes instead of the correct 3Eh (62) bytes
  2407.  
  2408. Format of NetWare login time:
  2409. Offset    Size    Description    (Table 1093)
  2410.  00h    BYTE    year (80-99 = 1980-1999, 00-79 = 2000-2079)
  2411.  01h    BYTE    month (1-12)
  2412.  02h    BYTE    day (1-31)
  2413.  03h    BYTE    hour (0-23)
  2414.  04h    BYTE    minute (0-59)
  2415.  05h    BYTE    second (0-59)
  2416.  06h    BYTE    day of week (0 = Sunday)
  2417. --------N-21E3--SF32-------------------------
  2418. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
  2419.     AH = E3h subfn 32h
  2420.     DS:SI -> request buffer (see #1095)
  2421.     ES:DI -> reply buffer (see #1096)
  2422. Return: AL = status (see #1094)
  2423. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2424. SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
  2425.  
  2426. (Table 1094)
  2427. Values for NetWare function status:
  2428.  00h    successful
  2429.  96h    server out of memory
  2430.  EEh    object already exists
  2431.  EFh    invalid name
  2432.  F0h    wildcard not allowed
  2433.  F1h    invalid bindery security level
  2434.  F3h    not permitted to rename object
  2435.  F4h    not permitted to delete objects
  2436.  F5h    not permitted to create objects
  2437.  FCh    no such object
  2438.  FEh    server bindery locked
  2439.  FFh    bindery failure
  2440.  
  2441. Format of NetWare request buffer:
  2442. Offset    Size    Description    (Table 1095)
  2443.  00h    WORD    length of following data (max 35h)
  2444.  02h    BYTE    32h (subfunction "Create Bindery Object")
  2445.  03h    BYTE    object flag (00h static, 01h dynamic)
  2446.  04h    BYTE    object security levels
  2447.  05h    WORD    (big-endian) type of object
  2448.  07h    BYTE    length of object's name
  2449.  08h  N BYTEs    object's name
  2450.  
  2451. Format of NetWare reply buffer:
  2452. Offset    Size    Description    (Table 1096)
  2453.  00h    WORD    0000h (no data returned)
  2454. --------N-21E3--SF33-------------------------
  2455. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
  2456.     AH = E3h subfn 33h
  2457.     DS:SI -> request buffer (see #1097)
  2458.     ES:DI -> reply buffer (see #1096)
  2459. Return: AL = status (see #1094)
  2460. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2461. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h
  2462.  
  2463. Format of NetWare request buffer:
  2464. Offset    Size    Description    (Table 1097)
  2465.  00h    WORD    length of following data (max 33h)
  2466.  02h    BYTE    33h (subfunction "Delete Bindery Object")
  2467.  03h    WORD    (big-endian) type of object
  2468.  05h    BYTE    length of object's name (01h-2Fh)
  2469.  06h  N BYTEs    object's name
  2470. --------N-21E3--SF34-------------------------
  2471. INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
  2472.     AH = E3h subfn 34h
  2473.     DS:SI -> request buffer (see #1098)
  2474.     ES:DI -> reply buffer (see #1096)
  2475. Return: AL = status (see #1094)
  2476. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2477. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h
  2478.  
  2479. Format of NetWare request buffer:
  2480. Offset    Size    Description    (Table 1098)
  2481.  00h    WORD    length of following data (max 63h)
  2482.  02h    BYTE    34h (subfunction "Rename Bindery Object")
  2483.  03h    WORD    (big-endian) type of object
  2484.  05h    BYTE    length of object's name (01h-2Fh)
  2485.  06h  N BYTEs    object's name
  2486.     BYTE    length of new name (01h-2Fh)
  2487.       N BYTEs    new name
  2488. --------N-21E3--SF35-------------------------
  2489. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
  2490.     AH = E3h subfn 35h
  2491.     DS:SI -> request buffer (see #1099)
  2492.     ES:DI -> reply buffer (see #1100)
  2493. Return: AL = status (00h,96h,FCh,FEh,FFh) (see #1101)
  2494. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2495.     the requesting workstation must be logged into the file server with
  2496.       read access to the bindery object
  2497. SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h
  2498.  
  2499. Format of NetWare request buffer:
  2500. Offset    Size    Description    (Table 1099)
  2501.  00h    WORD    length of following data (max 33h)
  2502.  02h    BYTE    35h (subfunction "Get Bindery Object ID")
  2503.  03h    WORD    (big-endian) type of object
  2504.  05h    BYTE    length of object's name
  2505.  06h  N BYTEs    object's name
  2506.  
  2507. Format of NetWare reply buffer:
  2508. Offset    Size    Description    (Table 1100)
  2509.  00h    WORD    (call) 0036h (length of following buffer space)
  2510.  02h    DWORD    (big-endian) object ID
  2511.  06h    WORD    (big-endian) type of object
  2512.  08h 48 BYTEs    object name
  2513. --------N-21E3--SF36-------------------------
  2514. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
  2515.     AH = E3h subfn 36h
  2516.     DS:SI -> request buffer (see #1102)
  2517.     ES:DI -> reply buffer (see #1103)
  2518. Return: AL = status (see #1101)
  2519. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2520.     the requesting workstation must be logged into the file server with
  2521.       read access to the bindery object
  2522. SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h
  2523.  
  2524. (Table 1101)
  2525. Values for NetWare function status:
  2526.  00h    successful
  2527.  96h    server out of memory
  2528.  EFh    invalid name
  2529.  F0h    wildcard not allowed
  2530.  FCh    no such object
  2531.  FEh    server bindery locked
  2532.  FFh    bindery failure
  2533.  
  2534. Format of NetWare request buffer:
  2535. Offset    Size    Description    (Table 1102)
  2536.  00h    WORD    0005h (length of following data)
  2537.  02h    BYTE    36h (subfunction "Get Bindery Object Name")
  2538.  03h    DWORD    (big-endian) object ID
  2539.  
  2540. Format of NetWare reply buffer:
  2541. Offset    Size    Description    (Table 1103)
  2542.  00h    WORD    (call) 0036h (length of following buffer space)
  2543.  02h    DWORD    (big-endian) object ID
  2544.  06h    WORD    (big-endian) type of object
  2545.  08h 48 BYTEs    object name
  2546. --------N-21E3--SF37-------------------------
  2547. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
  2548.     AH = E3h subfn 37h
  2549.     DS:SI -> request buffer (see #1104)
  2550.     ES:DI -> reply buffer (see #1105)
  2551. Return: AL = status (see #1101)
  2552. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2553.     the requesting workstation must be logged into the file server with
  2554.       read access to the bindery object
  2555. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
  2556.  
  2557. Format of NetWare request buffer:
  2558. Offset    Size    Description    (Table 1104)
  2559.  00h    WORD    length of following data (max 37h)
  2560.  02h    BYTE    37h (subfunction "Scan Bindery Object")
  2561.  03h    DWORD    (big-endian) last object ID
  2562.  07h    WORD    (big-endian) type of object
  2563.  09h    BYTE    length of object's name
  2564.  0Ah  N BYTEs    object's name
  2565.  
  2566. Format of NetWare reply buffer:
  2567. Offset    Size    Description    (Table 1105)
  2568.  00h    WORD    (call) 0039h (length of following buffer space)
  2569.  02h    DWORD    (big-endian) object ID
  2570.         FFFFFFFFh for first call
  2571.  06h    WORD    (big-endian) type of object
  2572.  08h 48 BYTEs    object name (counted string)
  2573.  38h    BYTE    object flag (00h static, 01h dynamic)
  2574.  39h    BYTE    object's security levels
  2575.  3Ah    BYTE    object properties flag (00h no, FFh yes)
  2576. --------N-21E3--SF38-------------------------
  2577. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
  2578.     AH = E3h subfn 38h
  2579.     DS:SI -> request buffer (see #1106)
  2580.     ES:DI -> reply buffer (see #1109)
  2581. Return: AL = status (00h,96h,F0h,F1h,FBh,FCh,FEh,FFh) (see #1107)
  2582. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2583. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2584.  
  2585. Format of NetWare request buffer:
  2586. Offset    Size    Description    (Table 1106)
  2587.  00h    WORD    length of following data (max 34h)
  2588.  02h    BYTE    38h (subfunction "Change Bindery Object Security")
  2589.  03h    BYTE    new security levels
  2590.  04h    WORD    (big-endian) type of object
  2591.  06h    BYTE    length of object's name (01h-2Fh)
  2592.  07h  N BYTEs    object name
  2593. --------N-21E3--SF39-------------------------
  2594. INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
  2595.     AH = E3h subfn 39h
  2596.     DS:SI -> request buffer (see #1108)
  2597.     ES:DI -> reply buffer (see #1109)
  2598. Return: AL = status (see #1107)
  2599. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2600. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh
  2601.  
  2602. (Table 1107)
  2603. Values for NetWare function status:
  2604.  00h    successful
  2605.  96h    server out of memory
  2606.  EDh    property already exists
  2607.  EFh    invalid name
  2608.  F0h    wildcard not allowed
  2609.  F1h    invalid bindery security level
  2610.  F6h    not permitted to delete properties
  2611.  F7h    not permitted to create properties
  2612.  FBh    no such property
  2613.  FCh    no such object
  2614.  FEh    server bindery locked
  2615.  FFh    bindery failure
  2616.  
  2617. Format of NetWare request buffer:
  2618. Offset    Size    Description    (Table 1108)
  2619.  00h    WORD    length of following data (max 45h)
  2620.  02h    BYTE    39h (subfunction "Create Property")
  2621.  03h    WORD    (big-endian) type of object
  2622.  05h    BYTE    length of object's name (01h-2Fh)
  2623.  06h  N BYTEs    object's name
  2624.     BYTE    property flags
  2625.     BYTE    property security levels
  2626.     BYTE    length of property's name (01h-0Fh)
  2627.       N BYTEs    property's name
  2628.  
  2629. Format of NetWare reply buffer:
  2630. Offset    Size    Description    (Table 1109)
  2631.  00h    WORD    (call) 0000h (no data returned)
  2632. --------N-21E3--SF3A-------------------------
  2633. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
  2634.     AH = E3h subfn 3Ah
  2635.     DS:SI -> request buffer (see #1110)
  2636.     ES:DI -> reply buffer (see #1109)
  2637. Return: AL = status (see #1107)
  2638. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2639. SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h
  2640.  
  2641. Format of NetWare request buffer:
  2642. Offset    Size    Description    (Table 1110)
  2643.  00h    WORD    length of following data (max 43h)
  2644.  02h    BYTE    3Ah (subfunction "Delete Property")
  2645.  03h    WORD    (big-endian) type of object
  2646.  05h    BYTE    length of object's name (01h-2Fh)
  2647.  06h  N BYTEs    object's name
  2648.     BYTE    length of property's name (01h-0Fh)
  2649.       N BYTEs    property's name
  2650. --------N-21E3--SF3B-------------------------
  2651. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
  2652.     AH = E3h subfn 3Bh
  2653.     DS:SI -> request buffer (see #1112)
  2654.     ES:DI -> reply buffer (see #1109)
  2655. Return: AL = status (see #1111)
  2656. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2657. SeeAlso: AH=E3h/SF=38h
  2658.  
  2659. (Table 1111)
  2660. Values for NetWare function status:
  2661.  00h    successful
  2662.  96h    server out of memory
  2663.  F0h    wildcard not allowed
  2664.  F1h    invalid bindery security level
  2665.  FBh    no such property
  2666.  FCh    no such object
  2667.  FEh    server bindery locked
  2668.  FFh    bindery failure
  2669.  
  2670. Format of NetWare request buffer:
  2671. Offset    Size    Description    (Table 1112)
  2672.  00h    WORD    length of following data (max 44h)
  2673.  02h    BYTE    3Bh (subfunction "Change Property Security")
  2674.  03h    WORD    (big-endian) type of object
  2675.  05h    BYTE    length of object's name (01h-2Fh)
  2676.  06h  N BYTEs    object name
  2677.     BYTE    new property security levels
  2678.     BYTE    length of property's name
  2679.       N BYTEs    property name
  2680. --------N-21E3--SF3C-------------------------
  2681. INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
  2682.     AH = E3h subfn 3Ch
  2683.     DS:SI -> request buffer (see #1113)
  2684.     ES:DI -> reply buffer (see #1114)
  2685. Return: AL = status (00h,96h,F1h,FBh,FCh,FEh,FFh) (see #1111)
  2686. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2687. SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh
  2688.  
  2689. Format of NetWare request buffer:
  2690. Offset    Size    Description    (Table 1113)
  2691.  00h    WORD    length of following data (max 47h)
  2692.  02h    BYTE    3Ch (subfunction "Scan Property")
  2693.  03h    WORD    (big-endian) type of object
  2694.  05h    BYTE    length of object's name (01h-2Fh)
  2695.  06h  N BYTEs    object name
  2696.     DWORD    (big-endian) sequence number
  2697.         FFFFFFFFh for first call
  2698.     BYTE    length of property's name (01h-0Fh)
  2699.       N BYTEs    property's name
  2700.  
  2701. Format of NetWare reply buffer:
  2702. Offset    Size    Description    (Table 1114)
  2703.  00h    WORD    (call) 0018h (length of following results buffer)
  2704.  02h 16 BYTEs    property name
  2705.  12h    BYTE    property flags
  2706.  13h    BYTE    property security levels
  2707.  14h    DWORD    (big-endian) sequence number
  2708.  18h    BYTE    property value flag (00h no, FFh yes)
  2709.  19h    BYTE    more properties (00h no, FFh yes)
  2710. --------N-21E3--SF3D-------------------------
  2711. INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
  2712.     AH = E3h subfn 3Dh
  2713.     DS:SI -> request buffer (see #1116)
  2714.     ES:DI -> reply buffer (see #1117)
  2715. Return: AL = status (see #1115)
  2716. Desc:    retrieve one 128-byte segment of the specified property's value
  2717. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2718. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2719.  
  2720. (Table 1115)
  2721. Values for NetWare function status:
  2722.  00h    successful
  2723.  96h    server out of memory
  2724.  E8h    not item property
  2725.  ECh    no such segment
  2726.  F0h    wildcard not allowed
  2727.  F1h    invalid bindery security level
  2728.  F8h    not permitted to write property
  2729.  F9h    not permitted to read property
  2730.  FBh    no such property
  2731.  FCh    no such object
  2732.  FEh    server bindery locked
  2733.  FFh    bindery failure
  2734.  
  2735. Format of NetWare request buffer:
  2736. Offset    Size    Description    (Table 1116)
  2737.  00h    WORD    length of following data (max 44h)
  2738.  02h    BYTE    3Dh (subfunction "Read Property Value")
  2739.  03h    WORD    (big-endian) type of object
  2740.  05h    BYTE    length of object's name (01h-2Fh)
  2741.  06h  N BYTEs    object name
  2742.     BYTE    segment number (01h on first call, increment until done)
  2743.     BYTE    length of property's name (01h-0Fh)
  2744.       N BYTEs    property name
  2745.  
  2746. Format of NetWare reply buffer:
  2747. Offset    Size    Description    (Table 1117)
  2748.  00h    WORD    (call) 0082h (length of following results buffer)
  2749.  02h 128 BYTEs    property's value
  2750.  82h    BYTE    more segments (00h no, FFh yes)
  2751.  83h    BYTE    property's flags
  2752. --------N-21E3--SF3E-------------------------
  2753. INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
  2754.     AH = E3h subfn 3Eh
  2755.     DS:SI -> request buffer (see #1118)
  2756.     ES:DI -> reply buffer (see #1119)
  2757. Return: AL = status (see #1115)
  2758. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2759. SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh
  2760.  
  2761. Format of NetWare request buffer:
  2762. Offset    Size    Description    (Table 1118)
  2763.  00h    WORD    length of following data (max C5h)
  2764.  02h    BYTE    3Eh (subfunction "Write Property Value")
  2765.  03h    WORD    (big-endian) type of object
  2766.  05h    BYTE    length of object's name (01h-2Fh)
  2767.  06h  N BYTEs    object name
  2768.     BYTE    segment number (01h on first call, increment until done)
  2769.     BYTE    erase remaining segments (00h no, FFh yes)
  2770.     BYTE    length of property's name (01h-0Fh)
  2771.       N BYTEs    property name
  2772.     128 BYTEs    property value segment
  2773.  
  2774. Format of NetWare reply buffer:
  2775. Offset    Size    Description    (Table 1119)
  2776.  00h    WORD    (call) 0000h (no data returned)
  2777. --------N-21E3--SF3F-------------------------
  2778. INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
  2779.     AH = E3h subfn 3Fh
  2780.     DS:SI -> request buffer (see #1121)
  2781.     ES:DI -> reply buffer (see #1119)
  2782. Return: AL = status (see #1120)
  2783. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2784. SeeAlso: AH=E3h/SF=40h
  2785.  
  2786. (Table 1120)
  2787. Values for NetWare function status:
  2788.  00h    successful
  2789.  96h    server out of memory
  2790.  F0h    wildcard not allowed
  2791.  FBh    no such property
  2792.  FCh    no such object
  2793.  FEh    server bindery locked
  2794.  FFh    bindery failure: no such object, bad password, no password for object,
  2795.       or invalid old password
  2796.  
  2797. Format of NetWare request buffer:
  2798. Offset    Size    Description    (Table 1121)
  2799.  00h    WORD    length of following data (max 133h)
  2800.  02h    BYTE    3Fh (subfunction "Verify Bindery Object Password")
  2801.  03h    WORD    (big-endian) type of object
  2802.  05h    BYTE    length of object's name (01h-2Fh)
  2803.  06h  N BYTEs    object name
  2804.     BYTE    length of password (00h-7Fh)
  2805.       N BYTEs    password
  2806. --------N-21E3--SF40-------------------------
  2807. INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
  2808.     AH = E3h subfn 40h
  2809.     DS:SI -> request buffer (see #1122)
  2810.     ES:DI -> reply buffer (see #1123)
  2811. Return: AL = status (see #1120)
  2812. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2813. SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h
  2814.  
  2815. Format of NetWare request buffer:
  2816. Offset    Size    Description    (Table 1122)
  2817.  00h    WORD    length of following data (max 133h)
  2818.  02h    BYTE    40h (subfunction "Change Bindery Object Password")
  2819.  03h    WORD    (big-endian) type of object
  2820.  05h    BYTE    length of object's name (01h-2Fh)
  2821.  06h  N BYTEs    object name
  2822.     BYTE    length of old password (00h-7Fh)
  2823.       N BYTEs    old password
  2824.     BYTE    length of new password (00h-7Fh)
  2825.       N BYTEs    new password
  2826.  
  2827. Format of NetWare reply buffer:
  2828. Offset    Size    Description    (Table 1123)
  2829.  00h    WORD    (call) 0000h (no data returned)
  2830. --------N-21E3--SF41-------------------------
  2831. INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
  2832.     AH = E3h subfn 41h
  2833.     DS:SI -> request buffer (see #1125)
  2834.     ES:DI -> reply buffer (see #1123)
  2835. Return: AL = status (see #1124)
  2836. Desc:    add the specified object to a set property
  2837. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2838. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2839.  
  2840. (Table 1124)
  2841. Values for NetWare function status:
  2842.  00h    successful
  2843.  96h    server out of memory
  2844.  E9h    member already exists
  2845.  EAh    member does not exist
  2846.  EBh    not a group property
  2847.  F0h    wildcard not allowed
  2848.  F8h    can't write property
  2849.  F9h    not permitted to read property
  2850.  FBh    no such property
  2851.  FCh    no such object
  2852.  FEh    server bindery locked
  2853.  FFh    bindery failure
  2854.  
  2855. Format of NetWare request buffer:
  2856. Offset    Size    Description    (Table 1125)
  2857.  00h    WORD    length of following data (max 75h)
  2858.  02h    BYTE    41h (subfunction "Add Bindery Object to Set")
  2859.  03h    WORD    (big-endian) type of object
  2860.  05h    BYTE    length of object's name
  2861.  06h  N BYTEs    object name
  2862.     BYTE    length of property name (01h-0Fh)
  2863.       N BYTEs    property name
  2864.     WORD    (big-endian) type of member object
  2865.     BYTE    length of member object's name
  2866.       N BYTEs    member object's name
  2867. --------N-21E3--SF42-------------------------
  2868. INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
  2869.     AH = E3h subfn 42h
  2870.     DS:SI -> request buffer (see #1126)
  2871.     ES:DI -> reply buffer (see #1127)
  2872. Return: AL = status (see #1124)
  2873. Desc:    delete the specified object from a set property
  2874. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2875. SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h
  2876.  
  2877. Format of NetWare request buffer:
  2878. Offset    Size    Description    (Table 1126)
  2879.  00h    WORD    length of following data (max 75h)
  2880.  02h    BYTE    42h (subfunction "Delete Bindery Object from Set")
  2881.  03h    WORD    (big-endian) type of object
  2882.  05h    BYTE    length of object's name
  2883.  06h  N BYTEs    object name
  2884.     BYTE    length of property name (01h-0Fh)
  2885.       N BYTEs    property name
  2886.     WORD    (big-endian) type of member object
  2887.     BYTE    length of member object's name
  2888.       N BYTEs    member object's name
  2889.  
  2890. Format of NetWare reply buffer:
  2891. Offset    Size    Description    (Table 1127)
  2892.  00h    WORD    (call) 0000h (no data returned)
  2893. --------N-21E3--SF43-------------------------
  2894. INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
  2895.     AH = E3h subfn 43h
  2896.     DS:SI -> request buffer (see #1128)
  2897.     ES:DI -> reply buffer (see #1127)
  2898. Return: AL = status (see #1124)
  2899. Desc:    determine whether the specified object is a member of the given set
  2900.       property
  2901. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2902.     the caller must have read access to the property
  2903. SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h
  2904.  
  2905. Format of NetWare request buffer:
  2906. Offset    Size    Description    (Table 1128)
  2907.  00h    WORD    length of following data (max 75h)
  2908.  02h    BYTE    43h (subfunction "Is Bindery Object In Set")
  2909.  03h    WORD    (big-endian) type of object
  2910.  05h    BYTE    length of object's name
  2911.  06h  N BYTEs    object's name
  2912.     BYTE    length of property's name
  2913.       N BYTEs    property's name
  2914.     WORD    (big-endian) type of member object
  2915.     BYTE    length of member object's name
  2916.       N BYTEs    member object's name
  2917. --------N-21E3--SF44-------------------------
  2918. INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
  2919.     AH = E3h subfn 44h
  2920.     DS:SI -> request buffer (see #1129)
  2921.     ES:DI -> reply buffer (see #1127)
  2922. Return: AL = status
  2923.         00h successful
  2924. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2925. SeeAlso: AH=E3h/SF=45h
  2926.  
  2927. Format of NetWare request buffer:
  2928. Offset    Size    Description    (Table 1129)
  2929.  00h    WORD    0001h (length of following data)
  2930.  02h    BYTE    44h (subfunction "Close Bindery")
  2931. --------N-21E3--SF45-------------------------
  2932. INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
  2933.     AH = E3h subfn 45h
  2934.     DS:SI -> request buffer (see #1130)
  2935.     ES:DI -> reply buffer (see #1127)
  2936. Return: AL = status
  2937.         00h successful
  2938. Notes:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2939.     the bindery may only be opened by the supervisor or an object with
  2940.       equivalent privileges
  2941. SeeAlso: AH=E3h/SF=44h
  2942.  
  2943. Format of NetWare request buffer:
  2944. Offset    Size    Description    (Table 1130)
  2945.  00h    WORD    0001h (length of following data)
  2946.  02h    BYTE    45h (subfunction "Open Bindery")
  2947. --------N-21E3--SF46-------------------------
  2948. INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
  2949.     AH = E3h subfn 46h
  2950.     DS:SI -> request buffer (see #1131)
  2951.     ES:DI -> reply buffer (see #1132)
  2952. Return: AL = status
  2953.         00h successful
  2954. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2955.  
  2956. Format of NetWare request buffer:
  2957. Offset    Size    Description    (Table 1131)
  2958.  00h    WORD    0001h (length of following data)
  2959.  02h    BYTE    46h (subfunction "Get Bindery Access Level")
  2960.  
  2961. Format of NetWare reply buffer:
  2962. Offset    Size    Description    (Table 1132)
  2963.  00h    WORD    0005h (length of following buffer)
  2964.  02h    BYTE    security levels
  2965.  03h    DWORD    (big-endian) object ID
  2966. --------N-21E3--SF47-------------------------
  2967. INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
  2968.     AH = E3h subfn 47h
  2969.     DS:SI -> request buffer (see #1133)
  2970.     ES:DI -> reply buffer (see #1134)
  2971. Return: AL = status (00h,96h,F0h,F1h,FCh,FEh,FFh) (see #1135)
  2972. Desc:    iterate through the directories to which an object is a trustee
  2973. Note:    this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
  2974. SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh
  2975.  
  2976. Format of NetWare request buffer:
  2977. Offset    Size    Description    (Table 1133)
  2978.  00h    WORD    0008h (length of following data)
  2979.  02h    BYTE    47h (subfunction "Scan Bindery Object Trustee Paths")
  2980.  03h    BYTE    volume number (00h-1Fh)
  2981.  04h    WORD    (big-endian) last sequence number (FFFFh on first call)
  2982.  06h    DWORD    (big-endian) object ID
  2983.  
  2984. Format of NetWare reply buffer:
  2985. Offset    Size    Description    (Table 1134)
  2986.  00h    WORD    (call) length of following results buffer (max 107h)
  2987.  02h    WORD    (big-endian) next sequence number
  2988.  04h    DWORD    (big-endian) object ID
  2989.  08h    BYTE    trustee directory rights (see #1026 at AH=E2h/SF=03h)
  2990.  09h    BYTE    length of trustee path
  2991.  0Ah  N BYTEs    trustee path
  2992. --------N-21E3--SF64-------------------------
  2993. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
  2994.     AH = E3h subfn 64h
  2995.     DS:SI -> request buffer (see #1136)
  2996.     ES:DI -> reply buffer (see #1137)
  2997. Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
  2998.         (see #1135)
  2999. Notes:    this function is supported by Advanced NetWare 2.1+
  3000.     caller must be on a workstation with supervisor privileges
  3001. SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
  3002.  
  3003. (Table 1135)
  3004. Values for NetWare function status:
  3005.  00h    successful
  3006.  96h    server out of memory
  3007.  99h    directory full
  3008.  9Bh    invalid directory handle
  3009.  9Ch    invalid path
  3010.  D0h    queue error
  3011.  D1h    no such queue
  3012.  D2h    no server for queue
  3013.  D3h    no queue rights
  3014.  D4h    queue full
  3015.  D5h    no queue job
  3016.  D6h    no job rights
  3017.  D7h    queue servicing error
  3018.  D9h    station is not a server
  3019.  DAh    queue halted
  3020.  DBh    too many queue servers
  3021.  EDh    property already exists
  3022.  EEh    object already exists
  3023.  EFh    invalid name
  3024.  F0h    wildcard not allowed
  3025.  F1h    invalid bindery security level
  3026.  F5h    not permitted to create object
  3027.  F7h    not permitted to create property
  3028.  FCh    no such object
  3029.  FEh    server bindery locked
  3030.  FFh    bindery failure
  3031.  
  3032. Format of NetWare request buffer:
  3033. Offset    Size    Description    (Table 1136)
  3034.  00h    WORD    length of following data (max ABh)
  3035.  02h    BYTE    64h (subfunction "Create Queue")
  3036.  03h    WORD    (big-endian) queue type
  3037.  05h    BYTE    length of queue's name (01h-2Fh)
  3038.  06h  N BYTEs    queue's name
  3039.     BYTE    directory handle or 00h
  3040.     BYTE    length of path name (01h-76h)
  3041.       N BYTEs    path name of directory in which to create queue subdirectory
  3042.  
  3043. Format of NetWare reply buffer:
  3044. Offset    Size    Description    (Table 1137)
  3045.  00h    WORD    (call) 0004h (size of following results buffer)
  3046.  02h    DWORD    (big-endian) object ID of queue
  3047. --------N-21E3--SF65-------------------------
  3048. INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
  3049.     AH = E3h subfn 65h
  3050.     DS:SI -> request buffer (see #1138)
  3051.     ES:DI -> reply buffer (see #1143)
  3052. Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
  3053.         FFh hardware failure
  3054. Desc:    abort all active jobs, detach all job servers, remove all job entries,
  3055.       delete all job files, remove the queue object and its properties
  3056.       from the bindery, and delete the queue's subdirectory
  3057. Notes:    this function is supported by Advanced NetWare 2.1+
  3058.     caller must have SUPERVISOR privileges
  3059. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
  3060.  
  3061. Format of NetWare request buffer:
  3062. Offset    Size    Description    (Table 1138)
  3063.  00h    WORD    0005h (length of following data)
  3064.  02h    BYTE    65h (subfunction "Destroy Queue")
  3065.  03h    DWORD    (big-endian) object ID of queue
  3066. --------N-21E3--SF66-------------------------
  3067. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS
  3068.     AH = E3h subfn 66h
  3069.     DS:SI -> request buffer (see #1139)
  3070.     ES:DI -> reply buffer (see #1140)
  3071. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1135)
  3072. Notes:    this function is supported by Advanced NetWare 2.1+
  3073.     caller must be on a workstation which is security-equivalent to a
  3074.       member of the queue's Q_USERS or Q_OPERATORS properties
  3075. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3076.  
  3077. Format of NetWare request buffer:
  3078. Offset    Size    Description    (Table 1139)
  3079.  00h    WORD    0005h (length of following data)
  3080.  02h    BYTE    66h (subfunction "Read Queue Current Status")
  3081.  03h    DWORD    (big-endian) object ID of queue
  3082.  
  3083. Format of NetWare reply buffer:
  3084. Offset    Size    Description    (Table 1140)
  3085.  00h    WORD    (call) 0085h (size of following results)
  3086.  02h    DWORD    (big-endian) object ID of queue
  3087.  06h    BYTE    status of queue (see #1141)
  3088.  07h    BYTE    number of jobs in queue (00h-FAh)
  3089.  08h    BYTE    number of servers attached to queue (00h-19h)
  3090.  09h 25 DWORDs    list of object IDs of attached servers
  3091.  6Dh 25 BYTEs    list of attached servers' stations
  3092.  86h    BYTE    (call) maximum number of servers to return
  3093.  
  3094. Bitfields for NetWare queue status:
  3095. Bit(s)    Description    (Table 1141)
  3096.  0    operator disabled addition of new jobs
  3097.  1    operator refuses additional job servers attaching
  3098.  2    operator disabled job servicing
  3099. --------N-21E3--SF67-------------------------
  3100. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS
  3101.     AH = E3h subfn 67h
  3102.     DS:SI -> request buffer (see #1142)
  3103.     ES:DI -> reply buffer (see #1143)
  3104. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see #1135)
  3105. Notes:    this function is supported by Advanced NetWare 2.1+
  3106.     caller must have operator privileges
  3107. SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
  3108.  
  3109. Format of NetWare request buffer:
  3110. Offset    Size    Description    (Table 1142)
  3111.  00h    WORD    0006h (length of following data)
  3112.  02h    BYTE    67h (subfunction "Set Queue Current Status")
  3113.  03h    DWORD    (big-endian) object ID of queue
  3114.  07h    BYTE    queue status (see #1141)
  3115.  
  3116. Format of NetWare reply buffer:
  3117. Offset    Size    Description    (Table 1143)
  3118.  00h    WORD    (call) 0000h (no results returned)
  3119. --------N-21E3--SF68-------------------------
  3120. INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
  3121.     AH = E3h subfn 68h
  3122.     DS:SI -> request buffer (see #1144)
  3123.     ES:DI -> reply buffer (see #1145)
  3124. Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
  3125.         (see #1135)
  3126. Notes:    this function is supported by Advanced NetWare 2.1+
  3127.     caller must be on a workstation which is security-equivalent to a
  3128.       member of the queue's Q_USER property
  3129. SeeAlso: AX=B807h,AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3130.  
  3131. Format of NetWare request buffer:
  3132. Offset    Size    Description    (Table 1144)
  3133.  00h    WORD    0107h (length of following data)
  3134.  02h    BYTE    68h (subfunction "Close File and Start Queue Job")
  3135.  03h    DWORD    (big-endian) object ID of queue
  3136.  07h    BYTE    client station
  3137.  08h    BYTE    client task number
  3138.  09h    DWORD    (big-endian) object ID of client
  3139.  0Dh    DWORD    (big-endian) object ID of target server
  3140.         FFFFFFFh if any server acceptable
  3141.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3142.         FFFFFFFFFFFFh to execute as soon as possible
  3143.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3144.  1Dh    WORD    (big-endian) job number
  3145.  1Fh    WORD    (big-endian) job type
  3146.  21h    BYTE    job position
  3147.  22h    BYTE    job control flags
  3148.  23h 14 BYTEs    ASCIZ job file name
  3149.  31h  6 BYTEs    job file handle
  3150.  37h    BYTE    server station
  3151.  38h    BYTE    server task number
  3152.  39h    DWORD    (big-endian) object ID of server
  3153.  3Dh 50 BYTEs    ASCIZ job description string
  3154.  6Fh 152 BYTEs    client record area
  3155.  
  3156. Format of NetWare reply buffer:
  3157. Offset    Size    Description    (Table 1145)
  3158.  00h    WORD    (call) 0036h (size of following results buffer)
  3159.  02h    BYTE    client station
  3160.  03h    BYTE    client task number
  3161.  04h    DWORD    (big-endian) object ID of client
  3162.  08h    DWORD    (big-endian) object ID of target server
  3163.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3164.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3165.  18h    WORD    (big-endian) job number
  3166.  1Ah    WORD    (big-endian) job type
  3167.  1Ch    BYTE    job position
  3168.  1Dh    BYTE    job control flags
  3169.  1Eh 14 BYTEs    ASCIZ job file name
  3170.  2Ch  6 BYTEs    job file handle
  3171.  32h    BYTE    server station
  3172.  33h    BYTE    server task number
  3173.  34h    DWORD    (big-endian) object ID of server or 00000000h
  3174. --------N-21E3--SF69-------------------------
  3175. INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB
  3176.     AH = E3h subfn 69h
  3177.     DS:SI -> request buffer (see #1146)
  3178.     ES:DI -> reply buffer (see #1147)
  3179. Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see #1135)
  3180. Notes:    this function is supported by Advanced NetWare 2.1+
  3181.     caller must be on the workstation which created the job
  3182. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3183.  
  3184. Format of NetWare request buffer:
  3185. Offset    Size    Description    (Table 1146)
  3186.  00h    WORD    0007h (length of following data)
  3187.  02h    BYTE    69h (subfunction "Close File and Start Queue Job")
  3188.  03h    DWORD    (big-endian) object ID of queue
  3189.  07h    WORD    (big-endian) job number
  3190.  
  3191. Format of NetWare reply buffer:
  3192. Offset    Size    Description    (Table 1147)
  3193.  00h    WORD    (call) 0000h (no results returned)
  3194. --------N-21E3--SF6A-------------------------
  3195. INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE
  3196.     AH = E3h subfn 6Ah
  3197.     DS:SI -> request buffer (see #1148)
  3198.     ES:DI -> reply buffer (see #1147)
  3199. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1135)
  3200. Notes:    this function is supported by Advanced NetWare 2.1+
  3201.     caller must have created the job or be an operator
  3202. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3203.  
  3204. Format of NetWare request buffer:
  3205. Offset    Size    Description    (Table 1148)
  3206.  00h    WORD    0007h (length of following data)
  3207.  02h    BYTE    6Ah (subfunction "Remove Job From Queue")
  3208.  03h    DWORD    (big-endian) object ID of queue
  3209.  07h    WORD    (big-endian) job number
  3210. --------N-21E3--SF6B-------------------------
  3211. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST
  3212.     AH = E3h subfn 6Bh
  3213.     DS:SI -> request buffer (see #1149)
  3214.     ES:DI -> reply buffer (see #1150)
  3215. Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see #1135)
  3216. Notes:    this function is supported by Advanced NetWare 2.1+
  3217.     caller must be on a workstation which is security-equivalent to a
  3218.       member of the Q_USERS or Q_OPERATORS properties
  3219. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3220.  
  3221. Format of NetWare request buffer:
  3222. Offset    Size    Description    (Table 1149)
  3223.  00h    WORD    0005h (length of following data)
  3224.  02h    BYTE    6Bh (subfunction "Get Queue Job List")
  3225.  03h    DWORD    (big-endian) object ID of queue
  3226.  
  3227. Format of NetWare reply buffer:
  3228. Offset    Size    Description    (Table 1150)
  3229.  00h    WORD    (call) size of following results buffer (max 1F6h)
  3230.  02h    WORD    (big-endian) job count
  3231.  04h  N WORDs    (big-endian) list of job numbers by position in queue
  3232.     WORD    maximum job numbers
  3233. --------N-21E3--SF6C-------------------------
  3234. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY
  3235.     AH = E3h subfn 6Ch
  3236.     DS:SI -> request buffer (see #1151)
  3237.     ES:DI -> reply buffer (see #1152)
  3238. Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see #1135)
  3239. Notes:    this function is supported by Advanced NetWare 2.1+
  3240.     caller must be on a workstation which is security-equivalent to a
  3241.       member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3242. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
  3243.  
  3244. Format of NetWare request buffer:
  3245. Offset    Size    Description    (Table 1151)
  3246.  00h    WORD    0007h (length of following data)
  3247.  02h    BYTE    6Ch (subfunction "Read Queue Job Entry")
  3248.  03h    DWORD    (big-endian) object ID of queue
  3249.  07h    WORD    (big-endian) job number
  3250.  
  3251. Format of NetWare reply buffer:
  3252. Offset    Size    Description    (Table 1152)
  3253.  00h    WORD    (call) 0100h (size of following results)
  3254.  02h    BYTE    client station number
  3255.  03h    BYTE    client task number
  3256.  04h    DWORD    object ID of client
  3257.  08h    DWORD    (big-endian) object ID of target server
  3258.         FFFFFFFFh if any server acceptable
  3259.  0Ch  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3260.         FFFFFFFFFFFFh if serviced as soon as possible
  3261.  12h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3262.  18h    WORD    (big-endian) job number
  3263.  1Ah    WORD    (big-endian) job type
  3264.  1Ch    BYTE    job position
  3265.  1Dh    BYTE    job control flags (see #1153)
  3266.  1Eh 14 BYTEs    ASCIZ job filename
  3267.  2Ch  6 BYTEs    job file handle
  3268.  32h    BYTE    server station
  3269.  33h    BYTE    server task number
  3270.  34h    DWORD    object ID of server
  3271.  38h 50 BYTEs    ASCIZ job description string
  3272.  6Ah 152 BYTEs    client record area
  3273.  
  3274. Bitfields for NetWare job control flags:
  3275. Bit(s)    Description    (Table 1153)
  3276.  3    job will be serviced automatically if connection broken
  3277.  4    job remains in queue after server aborts job
  3278.  5    client has not filled associated job file
  3279.  6    User Hold--job advances, but cannot be serviced until this is
  3280.       cleared by user or operator
  3281.  7    Operator Hold--job advances, but cannot be serviced until this is
  3282.       cleared by an operator
  3283. --------N-21E3--SF6D-------------------------
  3284. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY
  3285.     AH = E3h subfn 6Dh
  3286.     DS:SI -> request buffer (see #1154)
  3287.     ES:DI -> reply buffer (see #1156)
  3288. Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see #1135)
  3289. Notes:    this function is supported by Advanced NetWare 2.1+
  3290.     caller must be an operator or the user who created the job
  3291. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
  3292.  
  3293. Format of NetWare request buffer:
  3294. Offset    Size    Description    (Table 1154)
  3295.  00h    WORD    0105h (length of following data)
  3296.  02h    BYTE    6Dh (subfunction "Change Queue Job Entry")
  3297.  03h    DWORD    (big-endian) object ID of queue
  3298.  07h    BYTE    client station number
  3299.  08h    BYTE    client task number
  3300.  09h    DWORD    (big-endian) object ID of client
  3301.  0Dh    DWORD    (big-endian) object ID of target server
  3302.  11h  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  3303.  17h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  3304.  1Dh    WORD    (big-endian) job number
  3305.  1Fh    WORD    (big-endian) job type
  3306.  21h    BYTE    job position
  3307.  22h    BYTE    job control flags (see #1153)
  3308.  23h 14 BYTEs    ASCIZ job filename
  3309.  31h  6 BYTEs    job file handle
  3310.  37h    BYTE    server station
  3311.  38h    BYTE    server task number
  3312.  39h    DWORD    object ID of server
  3313.  3Dh 50 BYTEs    ASCIZ job description string
  3314.  6Fh 152 BYTEs    client record area
  3315. --------N-21E3--SF6E-------------------------
  3316. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
  3317.     AH = E3h subfn 6Eh
  3318.     DS:SI -> request buffer (see #1155)
  3319.     ES:DI -> reply buffer (see #1156)
  3320. Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #1135)
  3321. Notes:    this function is supported by Advanced NetWare 2.1+
  3322.     caller must be an operator
  3323.     if the specified position is greater than the number of jobs in the
  3324.       queue, the job is placed at the end of the queue
  3325. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
  3326.  
  3327. Format of NetWare request buffer:
  3328. Offset    Size    Description    (Table 1155)
  3329.  00h    WORD    0008h (length of following data)
  3330.  02h    BYTE    6Eh (subfunction "Change Queue Job Position")
  3331.  03h    DWORD    (big-endian) object ID of queue
  3332.  07h    WORD    (big-endian) job number
  3333.  09h    BYTE    new position in queue (01h-FAh)
  3334.  
  3335. Format of NetWare reply buffer:
  3336. Offset    Size    Description    (Table 1156)
  3337.  00h    WORD    (call) 0000h (no results returned)
  3338. --------N-21E3--SF6F-------------------------
  3339. INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
  3340.     AH = E3h subfn 6Fh
  3341.     DS:SI -> request buffer (see #1157)
  3342.     ES:DI -> reply buffer (see #1156)
  3343. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
  3344.         (see also AH=E3h/SF=64h)
  3345.         FFh bindery failure, or no such property, or no such member
  3346. Desc:    attach the calling job server to the specified queue
  3347. Notes:    this function is supported by Advanced NetWare 2.1+
  3348.     a queue may have up to 25 job servers attached
  3349.     the calling workstation must be security-equivalent to a member of the
  3350.       queue's Q_SERVERS property
  3351. SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3352.  
  3353. Format of NetWare request buffer:
  3354. Offset    Size    Description    (Table 1157)
  3355.  00h    WORD    0005h (length of following data)
  3356.  02h    BYTE    6Fh (subfunction "Attach Queue Server To Queue")
  3357.  03h    DWORD    (big-endian) object ID of queue
  3358. --------N-21E3--SF70-------------------------
  3359. INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
  3360.     AH = E3h subfn 70h
  3361.     DS:SI -> request buffer (see #1158)
  3362.     ES:DI -> reply buffer (see #1156)
  3363. Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see #1135)
  3364. Desc:    remove the calling job server from the specified queue's list of
  3365.       servers
  3366. Notes:    this function is supported by Advanced NetWare 2.1+
  3367.     the caller must have previously attached itself to the queue
  3368. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3369.  
  3370. Format of NetWare request buffer:
  3371. Offset    Size    Description    (Table 1158)
  3372.  00h    WORD    0005h (length of following data)
  3373.  02h    BYTE    70h (subfunction "Detach Queue Server From Queue")
  3374.  03h    DWORD    (big-endian) object ID of queue
  3375. --------N-21E3--SF71-------------------------
  3376. INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
  3377.     AH = E3h subfn 71h
  3378.     DS:SI -> request buffer (see #1159)
  3379.     ES:DI -> reply buffer (see #1145)
  3380. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
  3381.         (see #1135)
  3382. Notes:    this function is supported by Advanced NetWare 2.1+
  3383.     the caller must be on a workstation which is security-equivalent to a
  3384.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3385. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3386.  
  3387. Format of NetWare request buffer:
  3388. Offset    Size    Description    (Table 1159)
  3389.  00h    WORD    0007h (length of following data)
  3390.  02h    BYTE    71h (subfunction "Service Queue Job and Open File")
  3391.  03h    DWORD    (big-endian) object ID of queue
  3392.  07h    WORD    (big-endian) target job type
  3393.         FFFFh any
  3394. --------N-21E3--SF72-------------------------
  3395. INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
  3396.     AH = E3h subfn 72h
  3397.     DS:SI -> request buffer (see #1160)
  3398.     ES:DI -> reply buffer (see #1162)
  3399. Return: AL = status (00h,96h,D0h,D1h,D6h) (see #1135)
  3400. Desc:    inform the Queue Management System (QMS) that the queue server has
  3401.       completed a job
  3402. Notes:    this function is supported by Advanced NetWare 2.1+
  3403.     the caller must be a job server which has previously obtained a job
  3404.       for servicing
  3405. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
  3406.  
  3407. Format of NetWare request buffer:
  3408. Offset    Size    Description    (Table 1160)
  3409.  00h    WORD    000Bh (length of following data)
  3410.  02h    BYTE    72h (subfunction "Finish Servicing Queue Job and File")
  3411.  03h    DWORD    (big-endian) object ID of queue
  3412.  07h    WORD    (big-endian) job number
  3413.  09h    DWORD    (big-endian) charge
  3414. --------N-21E3--SF73-------------------------
  3415. INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
  3416.     AH = E3h subfn 73h
  3417.     DS:SI -> request buffer (see #1161)
  3418.     ES:DI -> reply buffer (see #1162)
  3419. Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #1135)
  3420. Desc:    inform the Queue Management System (QMS) that the queue server is
  3421.       unable to service a previously-accepted job
  3422. Note:    this function is supported by Advanced NetWare 2.1+
  3423. SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h
  3424.  
  3425. Format of NetWare request buffer:
  3426. Offset    Size    Description    (Table 1161)
  3427.  00h    WORD    0007h (length of following data)
  3428.  02h    BYTE    73h (subfunction "Abort Servicing Queue Job and File")
  3429.  03h    DWORD    (big-endian) object ID of queue
  3430.  07h    WORD    (big-endian) job number
  3431.  
  3432. Format of NetWare reply buffer:
  3433. Offset    Size    Description    (Table 1162)
  3434.  00h    WORD    (call) 0000h (no results returned)
  3435. --------N-21E3--SF74-------------------------
  3436. INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS
  3437.     AH = E3h subfn 74h
  3438.     DS:SI -> request buffer (see #1163)
  3439.     ES:DI -> reply buffer (see #1162)
  3440. Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see #1135)
  3441. Desc:    temporarily assume the login identity of the client submitting the
  3442.       job being serviced
  3443. Notes:    this function is supported by Advanced NetWare 2.1+
  3444.     caller must be a job server which has obtained a job for servicing
  3445. SeeAlso: AH=E3h/SF=75h
  3446.  
  3447. Format of NetWare request buffer:
  3448. Offset    Size    Description    (Table 1163)
  3449.  00h    WORD    0007h (length of following data)
  3450.  02h    BYTE    74h (subfunction "Change To Client Rights")
  3451.  03h    DWORD    (big-endian) object ID of queue
  3452.  07h    WORD    (big-endian) job number
  3453. --------N-21E3--SF75-------------------------
  3454. INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
  3455.     AH = E3h subfn 75h
  3456.     DS:SI -> request buffer (see #1164)
  3457.     ES:DI -> reply buffer (see #1162)
  3458. Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh) (see #1135)
  3459. Desc:    restore server's own identity after assuming the login identity of the
  3460.       client submitting the job being serviced
  3461. Notes:    this function is supported by Advanced NetWare 2.1+
  3462.     caller must be a job server which has previously changed its identity
  3463. SeeAlso: AH=E3h/SF=74h
  3464.  
  3465. Format of NetWare request buffer:
  3466. Offset    Size    Description    (Table 1164)
  3467.  00h    WORD    0001h (length of following data)
  3468.  02h    BYTE    75h (subfunction "Change To Client Rights")
  3469. --------N-21E3--SF76-------------------------
  3470. INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS
  3471.     AH = E3h subfn 76h
  3472.     DS:SI -> request buffer (see #1165)
  3473.     ES:DI -> reply buffer (see #1166)
  3474. Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #1135)
  3475. Notes:    this function is supported by Advanced NetWare 2.1+
  3476.     caller must be on a workstation which is security-equivalent to a
  3477.       member of the Q_USERS or Q_OPERATORS properties
  3478. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
  3479.  
  3480. Format of NetWare request buffer:
  3481. Offset    Size    Description    (Table 1165)
  3482.  00h    WORD    000Ah (length of following data)
  3483.  02h    BYTE    76h (subfunction "Read Queue Server Current Status")
  3484.  03h    DWORD    (big-endian) object ID of queue
  3485.  07h    DWORD    (big-endian) object ID of server
  3486.  0Bh    BYTE    server station
  3487.  
  3488. Format of NetWare reply buffer:
  3489. Offset    Size    Description    (Table 1166)
  3490.  00h    WORD    (call) 0040h (size of following results)
  3491.  02h 64 BYTEs    server status record (format depends on server)
  3492.         first four bytes should contain estimated "price" for an
  3493.           average job
  3494. --------N-21E3--SF77-------------------------
  3495. INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
  3496.     AH = E3h subfn 77h
  3497.     DS:SI -> request buffer (see #1167)
  3498.     ES:DI -> reply buffer (see #1168)
  3499. Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see #1135)
  3500. Notes:    this function is supported by Advanced NetWare 2.1+
  3501.     caller must be a job server which has attached itself to the queue
  3502. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
  3503.  
  3504. Format of NetWare request buffer:
  3505. Offset    Size    Description    (Table 1167)
  3506.  00h    WORD    0045h (length of following data)
  3507.  02h    BYTE    77h (subfunction "Set Queue Server Current Status")
  3508.  03h    DWORD    (big-endian) object ID of queue
  3509.  02h 64 BYTEs    server status record (format depends on server)
  3510.         first four bytes should contain estimated "price" for an
  3511.           average job
  3512.  
  3513. Format of NetWare reply buffer:
  3514. Offset    Size    Description    (Table 1168)
  3515.  00h    WORD    (call) 0000h (no results returned)
  3516. --------N-21E3--SF78-------------------------
  3517. INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE
  3518.     AH = E3h subfn 78h
  3519.     DS:SI -> request buffer (see #1169)
  3520.     ES:DI -> reply buffer (see #1170)
  3521. Return: AL = status (see also #1135)
  3522.         00h successful
  3523. Notes:    this function is supported by Advanced NetWare 2.1+
  3524.     caller must be on a workstation which is security-equivalent to a
  3525.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  3526. SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h
  3527.  
  3528. Format of NetWare request buffer:
  3529. Offset    Size    Description    (Table 1169)
  3530.  00h    WORD    0007h (length of following data)
  3531.  02h    BYTE    78h (subfunction "Get Queue Job's File Size")
  3532.  03h    DWORD    (big-endian) object ID of queue
  3533.  07h    WORD    (big-endian) job number
  3534.  
  3535. Format of NetWare reply buffer:
  3536. Offset    Size    Description    (Table 1170)
  3537.  00h    WORD    (call) 000Ah (size of following results)
  3538.  02h    DWORD    (big-endian) object ID of queue
  3539.  06h    WORD    (big-endian) job number
  3540.  08h    DWORD    (big-endian) size of job file in bytes
  3541. --------N-21E3--SF96-------------------------
  3542. INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
  3543.     AH = E3h subfn 96h
  3544.     DS:SI -> request buffer (see #1172)
  3545.     ES:DI -> reply buffer (see #1173)
  3546. Return: AL = status (00h,C0h,C1h) (see #1171)
  3547. Note:    this function is supported by Advanced NetWare 2.1+
  3548. SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h
  3549.  
  3550. (Table 1171)
  3551. Values for NetWare function status:
  3552.  00h    successful
  3553.  C0h    no account privileges
  3554.  C1h    no account balance
  3555.  C2h    credit limit exceeded
  3556.  C3h    too many holds on account
  3557.  
  3558. Format of NetWare request buffer:
  3559. Offset    Size    Description    (Table 1172)
  3560.  00h    WORD    length of following data (max 33h)
  3561.  02h    BYTE    96h (subfunction "Get Account Status")
  3562.  03h    WORD    (big-endian) type of bindery object
  3563.  05h    BYTE    length of object name (01h to 2Fh)
  3564.  06h  N BYTEs    object name
  3565.  
  3566. Format of NetWare reply buffer:
  3567. Offset    Size    Description    (Table 1173)
  3568.  00h    WORD    (call) length of following buffer space
  3569.  02h    DWORD    (big-endian) account balance
  3570.  06h    DWORD    (big-endian) credit limit
  3571.         signed number indicating lowest allowable account balance
  3572.  0Ah 120 BYTEs    reserved
  3573.  82h    DWORD    (big-endian) object ID, server 1
  3574.  86h    DWORD    (big-endian) hold amount, server 1
  3575.     ...
  3576.  F8h    DWORD    (big-endian) object ID, server 16
  3577.  FCh    DWORD    (big-endian) hold amount, server 16
  3578. Note:    the reply buffer lists the servers which have placed holds on a portion
  3579.       of the account balance, and the amount reserved by each
  3580. --------N-21E3--SF97-------------------------
  3581. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
  3582.     AH = E3h subfn 97h
  3583.     DS:SI -> request buffer (see #1174)
  3584.     ES:DI -> reply buffer (see #1176)
  3585. Return: AL = status (00h,C0h-C2h) (see #1171)
  3586. Note:    this function is supported by Advanced NetWare 2.1+
  3587. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h
  3588.  
  3589. Format of NetWare request buffer:
  3590. Offset    Size    Description    (Table 1174)
  3591.  00h    WORD    length of following data (max 13Fh)
  3592.  02h    BYTE    97h (subfunction "Submit Account Charge")
  3593.  03h    WORD    (big-endian) service type
  3594.  05h    DWORD    (big-endian) amount to be charged to account
  3595.  09h    DWORD    (big-endian) amount of prior hold to be cancelled
  3596.  0Dh    WORD    (big-endian) type of bindery object
  3597.  0Fh    WORD    (big-endian) type of comment
  3598.         8000h-FFFFh reserved for experimental use
  3599.  11h    BYTE    length of object's name
  3600.  12h  N BYTEs    object name
  3601.     BYTE    length of comment
  3602.       N BYTEs    comment
  3603. --------N-21E3--SF98-------------------------
  3604. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
  3605.     AH = E3h subfn 98h
  3606.     DS:SI -> request buffer (see #1175)
  3607.     ES:DI -> reply buffer (see #1176)
  3608. Return: AL = status (00h,C0h-C3h) (see #1171)
  3609. Note:    this function is supported by Advanced NetWare 2.1+
  3610. SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h
  3611.  
  3612. Format of NetWare request buffer:
  3613. Offset    Size    Description    (Table 1175)
  3614.  00h    WORD    length of following data (max 37h)
  3615.  02h    BYTE    98h (subfunction "Submit Account Hold")
  3616.  03h    DWORD    (big-endian) amount of account balance to reserve
  3617.  07h    WORD    (big-endian) type of bindery object
  3618.  09h    BYTE    length of object's name
  3619.  0Ah  N BYTEs    object name
  3620.  
  3621. Format of NetWare reply buffer:
  3622. Offset    Size    Description    (Table 1176)
  3623.  00h    WORD    0000h (no data returned)
  3624. --------N-21E3--SF99-------------------------
  3625. INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
  3626.     AH = E3h subfn 99h
  3627.     DS:SI -> request buffer (see #1177)
  3628.     ES:DI -> reply buffer (see #1176)
  3629. Return: AL = status (00h,C0h) (see #1171)
  3630. Note:    this function is supported by Advanced NetWare 2.1+
  3631. SeeAlso: AH=E3h/SF=96h
  3632.  
  3633. Format of NetWare request buffer:
  3634. Offset    Size    Description    (Table 1177)
  3635.  00h    WORD    length of following data (max 137h)
  3636.  02h    BYTE    99h (subfunction "Submit Account Note")
  3637.  03h    WORD    (big-endian) type of service
  3638.  05h    WORD    (big-endian) type of bindery object
  3639.  07h    WORD    (big-endian) type of comment
  3640.         8000h-FFFFh reserved for experimental use
  3641.  09h    BYTE    length of object's name
  3642.  0Ah  N BYTEs    object name
  3643.     BYTE    length of comment
  3644.       N BYTEs    comment
  3645. --------N-21E3--SFC8-------------------------
  3646. INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
  3647.     AH = E3h subfn C8h
  3648.     DS:SI -> request buffer (see #1178)
  3649.     ES:DI -> reply buffer (see #1176)
  3650. Return: AL = status (00h,C6h) (see #1181)
  3651. Desc:    determine whether the caller is a console operator
  3652. Notes:    this function is supported by Advanced NetWare 2.1+
  3653.     NetWare determines console privileges by checking the file server's
  3654.       OPERATOR property for the caller's object ID
  3655. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3656.  
  3657. Format of NetWare request buffer:
  3658. Offset    Size    Description    (Table 1178)
  3659.  00h    WORD    0001h (length of following data)
  3660.  02h    BYTE    C8h (subfunction "Check Console Privileges")
  3661. --------N-21E3--SFC9-------------------------
  3662. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
  3663.     AH = E3h subfn C9h
  3664.     DS:SI -> request buffer (see #1179)
  3665.     ES:DI -> reply buffer (see #1180)
  3666. Return: AL = status
  3667.         00h successful
  3668. Notes:    this function is supported by Advanced NetWare 2.1+
  3669.     the calling workstation must be attached to the file server
  3670. SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h
  3671.  
  3672. Format of NetWare request buffer:
  3673. Offset    Size    Description    (Table 1179)
  3674.  00h    WORD    0001h (length of following data)
  3675.  02h    BYTE    C9h (subfunction "Get File Server Description Strings")
  3676.  
  3677. Format of NetWare reply buffer:
  3678. Offset    Size    Description    (Table 1180)
  3679.  00h    WORD    (call) 0200h (size of following results buffer)
  3680.  02h    var    ASCIZ name of company distributing this copy of NetWare
  3681.     var    ASCIZ version and revision
  3682.       9 BYTEs    ASCIZ revision date (mm/dd/yy)
  3683.     var    ASCIZ copyright notice
  3684. --------N-21E3--SFCA-------------------------
  3685. INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
  3686.     AH = E3h subfn CAh
  3687.     DS:SI -> request buffer (see #1182)
  3688.     ES:DI -> reply buffer (see #1184)
  3689. Return: AL = status (00h,C6h) (see #1181)
  3690. Notes:    this function is supported by Advanced NetWare 2.1+
  3691.     the calling workstation must have console operator privileges
  3692. SeeAlso: AH=2Bh,AH=2Dh,AH=E3h/SF=C8h,AH=E7h
  3693.  
  3694. (Table 1181)
  3695. Values for NetWare function status:
  3696.  00h    successful
  3697.  C6h    no console rights
  3698.  
  3699. Format of NetWare request buffer:
  3700. Offset    Size    Description    (Table 1182)
  3701.  00h    WORD    0007h (length of following data)
  3702.  02h    BYTE    CAh (subfunction "Set File Server Date And Time")
  3703.  03h    BYTE    year (00-79 = 2000-2079, 80-99 = 1980-1999)
  3704.  04h    BYTE    month (1-12)
  3705.  05h    BYTE    day (1-31)
  3706.  06h    BYTE    hour (0-23)
  3707.  07h    BYTE    minute
  3708.  08h    BYTR    second
  3709. --------N-21E3--SFCB-------------------------
  3710. INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
  3711.     AH = E3h subfn CBh
  3712.     DS:SI -> request buffer (see #1183)
  3713.     ES:DI -> reply buffer (see #1184)
  3714. Return: AL = status (00h,C6h) (see #1181)
  3715. Notes:    this function is supported by Advanced NetWare 2.1+
  3716.     the calling workstation must have console operator privileges
  3717. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h
  3718.  
  3719. Format of NetWare request buffer:
  3720. Offset    Size    Description    (Table 1183)
  3721.  00h    WORD    0001h (length of following data)
  3722.  02h    BYTE    CBh (subfunction "Disable File Server Login")
  3723.  
  3724. Format of NetWare reply buffer:
  3725. Offset    Size    Description    (Table 1184)
  3726.  00h    WORD    (call) 0000h (no results returned)
  3727. --------N-21E3--SFCC-------------------------
  3728. INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
  3729.     AH = E3h subfn CCh
  3730.     DS:SI -> request buffer (see #1185)
  3731.     ES:DI -> reply buffer (see #1184)
  3732. Return: AL = status (00h,C6h) (see #1181)
  3733. Notes:    this function is supported by Advanced NetWare 2.1+
  3734.     the calling workstation must have console operator privileges
  3735. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh
  3736.  
  3737. Format of NetWare request buffer:
  3738. Offset    Size    Description    (Table 1185)
  3739.  00h    WORD    0001h (length of following data)
  3740.  02h    BYTE    CCh (subfunction "Enable File Server Login")
  3741. --------N-21E3--SFCD-------------------------
  3742. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
  3743.     AH = E3h subfn CDh
  3744.     DS:SI -> request buffer (see #1186)
  3745.     ES:DI -> reply buffer (see #1187)
  3746. Return: AL = status (00h,C6h) (see #1181)
  3747. Notes:    this function is supported by Advanced NetWare 2.1+
  3748.     the calling workstation must have console operator privileges
  3749. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh
  3750.  
  3751. Format of NetWare request buffer:
  3752. Offset    Size    Description    (Table 1186)
  3753.  00h    WORD    0001h (length of following data)
  3754.  02h    BYTE    CDh (subfunction "Get File Server Login Status")
  3755.  
  3756. Format of NetWare reply buffer:
  3757. Offset    Size    Description    (Table 1187)
  3758.  00h    WORD    (call) 0001h (size of following results buffer)
  3759.  02h    BYTE    login state (00h disabled, 01h enabled)
  3760. --------N-21E3--SFCE-------------------------
  3761. INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
  3762.     AH = E3h subfn CEh
  3763.     DS:SI -> request buffer (see #1188)
  3764.     ES:DI -> reply buffer (see #1190)
  3765. Return: AL = status (00h,C6h) (see #1181)
  3766. Desc:    all files marked for deletion on the file server are purged, regardless
  3767.       of which workstation actually erased them
  3768. Notes:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  3769.       Alloy NTNX
  3770.     the calling workstation must have console operator privileges
  3771. SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F244h
  3772.  
  3773. Format of NetWare request buffer:
  3774. Offset    Size    Description    (Table 1188)
  3775.  00h    WORD    0001h (length of following data)
  3776.  02h    BYTE    CEh (subfunction "Purge All Erased Files")
  3777. --------N-21E3--SFCF-------------------------
  3778. INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
  3779.     AH = E3h subfn CFh
  3780.     DS:SI -> request buffer (see #1189)
  3781.     ES:DI -> reply buffer (see #1190)
  3782. Return: AL = status (00h,C6h) (see #1181)
  3783. Notes:    this function is supported by Advanced NetWare 2.1+
  3784.     the calling workstation must have console operator privileges
  3785. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h
  3786.  
  3787. Format of NetWare request buffer:
  3788. Offset    Size    Description    (Table 1189)
  3789.  00h    WORD    0001h (length of following data)
  3790.  02h    BYTE    CFh (subfunction "Disable Transaction Tracking")
  3791.  
  3792. Format of NetWare reply buffer:
  3793. Offset    Size    Description    (Table 1190)
  3794.  00h    WORD    (call) 0000h (no results returned)
  3795. --------N-21E3--SFD0-------------------------
  3796. INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
  3797.     AH = E3h subfn D0h
  3798.     DS:SI -> request buffer (see #1191)
  3799.     ES:DI -> reply buffer (see #1190)
  3800. Return: AL = status (00h,C6h) (see #1195)
  3801. Desc:    restart transaction tracking after being stopped either explicitly by
  3802.       AH=E3h/SF=CFh or automatically due to a full transaction volume
  3803. Notes:    this function is supported by Advanced NetWare 2.1+
  3804.     the calling workstation must have console operator privileges
  3805. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh
  3806.  
  3807. Format of NetWare request buffer:
  3808. Offset    Size    Description    (Table 1191)
  3809.  00h    WORD    0001h (length of following data)
  3810.  02h    BYTE    D0h (subfunction "Enable Transaction Tracking")
  3811. --------N-21E3--SFD1-------------------------
  3812. INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
  3813.     AH = E3h subfn D1h
  3814.     DS:SI -> request buffer (see #1192)
  3815.     ES:DI -> reply buffer (see #1194)
  3816. Return: AL = status (00h,C6h) (see #1195)
  3817. Notes:    this function is supported by Advanced NetWare 2.1+
  3818.     the calling workstation must have console operator privileges
  3819.     the broadcast message will not be received by workstations which have
  3820.       disabled broadcasts with AH=E1h/SF=02h
  3821. SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
  3822.  
  3823. Format of NetWare request buffer:
  3824. Offset    Size    Description    (Table 1192)
  3825.  00h    WORD    length of following data (max A2h)
  3826.  02h    BYTE    D1h (subfunction "Send Console Broadcast")
  3827.  03h    BYTE    number of connections to receive message
  3828.         00h = all, else specific list below
  3829.  04h  N BYTEs    connection list
  3830.     BYTE    length of message (max 3Ch)
  3831.       N BYTEs    message
  3832. --------N-21E3--SFD2-------------------------
  3833. INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
  3834.     AH = E3h subfn D2h
  3835.     DS:SI -> request buffer (see #1193)
  3836.     ES:DI -> reply buffer (see #1194)
  3837. Return: AL = status (00h,C6h) (see #1195)
  3838. Desc:    close the open files and release all file locks for a connection,
  3839.       abort transactions if a TTS file server, and detach from the file
  3840.       server
  3841. Notes:    this function is supported by Advanced NetWare 2.1+
  3842.     the caller must have SUPERVISOR privileges
  3843. SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h
  3844.  
  3845. Format of NetWare request buffer:
  3846. Offset    Size    Description    (Table 1193)
  3847.  00h    WORD    0002h (length of following data)
  3848.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  3849.  03h    BYTE    connection number
  3850.  
  3851. Format of NetWare reply buffer:
  3852. Offset    Size    Description    (Table 1194)
  3853.  00h    WORD    (call) 0000h (no results returned)
  3854. --------N-21E3--SFD3-------------------------
  3855. INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
  3856.     AH = E3h subfn D3h
  3857.     DS:SI -> request buffer (see #1196)
  3858.     ES:DI -> reply buffer (see #1194)
  3859. Return: AL = status (00h,C6h,FFh) (see #1195)
  3860. Desc:    take down the file server
  3861. Notes:    this function is supported by Advanced NetWare 2.1+
  3862.     the calling workstation must have SUPERVISOR privileges
  3863. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h
  3864.  
  3865. (Table 1195)
  3866. Values for NetWare function status:
  3867.  00h    successful
  3868.  C6h    no console rights
  3869.  FFh    files open
  3870.  
  3871. Format of NetWare request buffer:
  3872. Offset    Size    Description    (Table 1196)
  3873.  00h    WORD    0002h (length of following data)
  3874.  02h    BYTE    D3h (subfunction "Down File Server")
  3875.  03h    BYTE    flag: force down even if files open if nonzero
  3876. --------N-21E3--SFD4-------------------------
  3877. INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
  3878.     AH = E3h subfn D4h
  3879.     DS:SI -> request buffer (see #1197)
  3880.     ES:DI -> reply buffer (see #1198)
  3881. Return: AL = status (00h,C6h) (see #1195)
  3882. Notes:    this function is supported by Advanced NetWare 2.1+
  3883.     the calling workstation must have console operator privileges
  3884. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  3885.  
  3886. Format of NetWare request buffer:
  3887. Offset    Size    Description    (Table 1197)
  3888.  00h    WORD    0001h (length of following data)
  3889.  02h    BYTE    D4h (subfunction "Get File System Statistics")
  3890.  
  3891. Format of NetWare reply buffer:
  3892. Offset    Size    Description    (Table 1198)
  3893.  00h    WORD    (call) 0028h (size of following results buffer)
  3894.  02h    DWORD    clock ticks since system started
  3895.  06h    WORD    maximum open files set by configuration
  3896.  08h    WORD    maximum files open concurrently
  3897.  0Ah    WORD    current number of open files
  3898.  0Ch    DWORD    total files opened
  3899.  10h    DWORD    total file read requests
  3900.  14h    DWORD    total file write requests
  3901.  18h    WORD    current changed FATs
  3902.  1Ah    WORD    total changed FATs
  3903.  1Ch    WORD    number of FAT write errors
  3904.  1Eh    WORD    number of fatal FAT write errors
  3905.  20h    WORD    number of FAT scan errors
  3906.  22h    WORD    maximum concurrently-indexed files
  3907.  24h    WORD    current number of indexed files
  3908.  26h    WORD    number of attached indexed files
  3909.  28h    WORD    number of indexed files available
  3910. Note:    all fields except the first are big-endian
  3911. --------N-21E3--SFD5-------------------------
  3912. INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
  3913.     AH = E3h subfn D5h
  3914.     DS:SI -> request buffer (see #1199)
  3915.     ES:DI -> reply buffer (see #1200)
  3916. Return: AL = status (00h,C6h) (see #1195)
  3917. Notes:    this function is supported by Advanced NetWare 2.1+
  3918.     the calling workstation must have console operator privileges
  3919. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
  3920.  
  3921. Format of NetWare request buffer:
  3922. Offset    Size    Description    (Table 1199)
  3923.  00h    WORD    0001h (length of following data)
  3924.  02h    BYTE    D5h (subfunction "TTS Get Statistics")
  3925.  
  3926. Format of NetWare reply buffer:
  3927. Offset    Size    Description    (Table 1200)
  3928.  00h    WORD    (call) length of following results buffer (max 1BCh)
  3929.  02h    DWORD    (big-endian) clock ticks since system started
  3930.  06h    BYTE    transaction tracking supported if nonzero
  3931.         (all following fields are invalid if zero)
  3932.  07h    BYTE    transaction tracking enabled
  3933.  08h    WORD    (big-endian) transaction volume number
  3934.  0Ah    WORD    (big-endian) maximum simultaneous transactions configured
  3935.  0Ch    WORD    (big-endian) maximum simultaneous transactions since startup
  3936.  0Eh    WORD    (big-endian) current transactions in progress
  3937.  10h    DWORD    (big-endian) total transactions performed
  3938.  14h    DWORD    (big-endian) total write transactions
  3939.  18h    DWORD    (big-endian) total transactions backed out
  3940.  1Ch    WORD    (big-endian) number of unfilled backout requests
  3941.  1Eh    WORD    (big-endian) disk blocks used for transaction tracking
  3942.  20h    DWORD    (big-endian) blocks allocated for tracked-file FATs
  3943.  24h    DWORD    (big-endian) number of file size changes during a transaction
  3944.  28h    DWORD    (big-endian) number of file truncations during a transaction
  3945.  2Ch    BYTE    number of records following
  3946.  2Dh    Active Transaction Records [array]
  3947.     Offset    Size    Description
  3948.      00h    BYTE    logical connection number
  3949.      01h    BYTE    task number
  3950. --------N-21E3--SFD6-------------------------
  3951. INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
  3952.     AH = E3h subfn D6h
  3953.     DS:SI -> request buffer (see #1201)
  3954.     ES:DI -> reply buffer (see #1202)
  3955. Return: AL = status (00h,C6h) (see #1195)
  3956. Notes:    this function is supported by Advanced NetWare 2.1+
  3957.     the calling workstation must have console operator privileges
  3958. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
  3959.  
  3960. Format of NetWare request buffer:
  3961. Offset    Size    Description    (Table 1201)
  3962.  00h    WORD    0001h (length of following data)
  3963.  02h    BYTE    D6h (subfunction "Get Disk Cache Statistics")
  3964.  
  3965. Format of NetWare reply buffer:
  3966. Offset    Size    Description    (Table 1202)
  3967.  00h    WORD    (call) 004Eh (length of following results buffer)
  3968.  02h    DWORD    clock ticks since system started
  3969.  06h    WORD    number of cache buffers
  3970.  08h    WORD    size of cache buffer in bytes
  3971.  0Ah    WORD    number of dirty cache buffers
  3972.  0Ch    DWORD    number of cache read requests
  3973.  10h    DWORD    number of cache write requests
  3974.  14h    DWORD    number of cache hits
  3975.  18h    DWORD    number of cache misses
  3976.  1Ch    DWORD    number of physical read requests
  3977.  20h    DWORD    number of physical write requests
  3978.  24h    WORD    number of physical read errors
  3979.  26h    WORD    number of physical write errors
  3980.  28h    DWORD    cache get requests
  3981.  2Ch    DWORD    cache full write requests
  3982.  30h    DWORD    cache partial write requests
  3983.  34h    DWORD    background dirty writes
  3984.  38h    DWORD    background aged writes
  3985.  3Ch    DWORD    total cache writes
  3986.  40h    DWORD    number of cache allocations
  3987.  44h    WORD    thrashing count
  3988.  46h    WORD    number of times LRU block was dirty
  3989.  48h    WORD    number of reads on cache blocks not yet filled by writes
  3990.  4Ah    WORD    number of times a fragmented write occurred
  3991.  4Ch    WORD    number of cache hits on unavailable block
  3992.  4Eh    WORD    number of times a cache block was scrapped
  3993. Note:    all fields except the first are big-endian
  3994. --------N-21E3--SFD7-------------------------
  3995. INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
  3996.     AH = E3h subfn D7h
  3997.     DS:SI -> request buffer (see #1203)
  3998.     ES:DI -> reply buffer (see #1204)
  3999. Return: AL = status (00h,C6h) (see #1195)
  4000. Notes:    this function is supported by Advanced NetWare 2.1+
  4001.     the calling workstation must have console operator privileges
  4002. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4003.  
  4004. Format of NetWare request buffer:
  4005. Offset    Size    Description    (Table 1203)
  4006.  00h    WORD    0001h (length of following data)
  4007.  02h    BYTE    D7h (subfunction "Get Drive Mapping Table")
  4008.  
  4009. Format of NetWare reply buffer:
  4010. Offset    Size    Description    (Table 1204)
  4011.  00h    WORD    (call) 00ECh (length of following results buffer)
  4012.  02h    DWORD    (big-endian) clock tick elapsed since system started
  4013.  06h    BYTE    fault tolerance (SFT) level
  4014.  07h    BYTE    number of logical drives attached to server
  4015.  08h    BYTE    number of physical drives attached to server
  4016.  09h  5 BYTEs    disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
  4017.           04h disk coprocessor drive, 32h-FFh value-added drive types)
  4018.  0Eh    WORD    (big-endian) number of outstanding controller commands
  4019.  10h 32 BYTEs    drive mapping table (FFh = no such drive)
  4020.  30h 32 BYTEs    drive mirror table (secondary physical drive, FFh = none)
  4021.  50h 32 BYTEs    dead mirror table (last drive mapped to, FFh if never mirrored)
  4022.  70h    BYTE    physical drive being remirrored (FFh = none)
  4023.  71h    BYTE    reserved
  4024.  72h    DWORD    (big-endian) remirrored block
  4025.  76h 60 BYTEs    SFT error table (internal error counters)
  4026. --------N-21E3--SFD8-------------------------
  4027. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
  4028.     AH = E3h subfn D8h
  4029.     DS:SI -> request buffer (see #1205)
  4030.     ES:DI -> reply buffer (see #1206)
  4031. Return: AL = status (00h,C6h) (see #1195)
  4032. Notes:    this function is supported by Advanced NetWare 2.1+
  4033.     the calling workstation must have console operator privileges
  4034. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h
  4035.  
  4036. Format of NetWare request buffer:
  4037. Offset    Size    Description    (Table 1205)
  4038.  00h    WORD    0002h (length of following data)
  4039.  02h    BYTE    D8h (subfunction "Get Physical Disk Statistics")
  4040.  03h    BYTE    physical disk number
  4041.  
  4042. Format of NetWare reply buffer:
  4043. Offset    Size    Description    (Table 1206)
  4044.  00h    WORD    (call) 005Dh (size of following results record)
  4045.  02h    DWORD    (big-endian) clock ticks since system started
  4046.  06h    BYTE    physical disk channel
  4047.  07h    BYTE    flag: drive removable if nonzero
  4048.  08h    BYTE    physical drive type
  4049.  09h    BYTE    drive number within controller
  4050.  0Ah    BYTE    controller number
  4051.  0Bh    BYTE    controller type
  4052.  0Ch    DWORD    (big-endian) size of drive in 4K disk blocks
  4053.  10h    WORD    (big-endian) number of cylinders on drive
  4054.  12h    BYTE    number of heads
  4055.  13h    BYTE    number of sectors per track
  4056.  14h 64 BYTEs    ASCIZ drive make and model
  4057.  54h    WORD    (big-endian) number of I/O errors
  4058.  56h    DWORD    (big-endian) start of Hot Fix table
  4059.  5Ah    WORD    (big-endian) size of Hot Fix table
  4060.  5Ch    WORD    (big-endian) number of Hot Fix blocks available
  4061.  5Eh    BYTE    flag: Hot Fix disabled if nonzero
  4062. --------N-21E3--SFD9-------------------------
  4063. INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
  4064.     AH = E3h subfn D9h
  4065.     DS:SI -> request buffer (see #1207)
  4066.     ES:DI -> reply buffer (see #1208)
  4067. Return: AL = status (00h,C6h) (see #1195)
  4068. Notes:    this function is supported by Advanced NetWare 2.1+
  4069.     the calling workstation must have console operator privileges
  4070. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
  4071.  
  4072. Format of NetWare request buffer:
  4073. Offset    Size    Description    (Table 1207)
  4074.  00h    WORD    0002h (length of following data)
  4075.  02h    BYTE    D9h (subfunction "Get Disk Channel Statistics")
  4076.  03h    BYTE    channel number
  4077.  
  4078. Format of NetWare reply buffer:
  4079. Offset    Size    Description    (Table 1208)
  4080.  00h    WORD    (call) 00A8h (size of following results record)
  4081.  02h    DWORD    (big-endian) clock ticks since system started
  4082.  06h    WORD    (big-endian) channel run state (see #1209)
  4083.  08h    WORD    (big-endian) channel synchronization state (see #1210)
  4084.  0Ah    BYTE    driver type
  4085.  0Bh    BYTE    major version of driver
  4086.  0Ch    BYTE    minor version of driver
  4087.  0Dh 65 BYTEs    ASCIZ driver description
  4088.  4Eh    WORD    (big-endian) first I/O address used
  4089.  50h    WORD    (big-endian) length of first I/O address
  4090.  52h    WORD    (big-endian) second I/O address used
  4091.  54h    WORD    (big-endian) length of second I/O address
  4092.  56h  3 BYTEs    first shared memory address
  4093.  59h  2 BYTEs    length of first shared memory address
  4094.  5Bh  3 BYTEs    second shared memory address
  4095.  5Eh  2 BYTEs    length of second shared memory address
  4096.  60h    BYTE    first interrupt number in-use flag
  4097.  61h    BYTE    first interrupt number used
  4098.  62h    BYTE    second interrupt number in-use flag
  4099.  63h    BYTE    second interrupt number used
  4100.  64h    BYTE    first DMA channel in-use flag
  4101.  65h    BYTE    first DMA channel used
  4102.  66h    BYTE    second DMA channel in-use flag
  4103.  67h    BYTE    second DMA channel used
  4104.  68h    BYTE    flags
  4105.  69h    BYTE    reserved
  4106.  6Ah 80 BYTEs    ASCIZ configuration description
  4107.  
  4108. (Table 1209)
  4109. Values for channel run state:
  4110.  0000h    running
  4111.  0001h    being stopped
  4112.  0002h    stopped
  4113.  0003h    nonfunctional
  4114.  
  4115. (Table 1210)
  4116. Values for channel synchronization state:
  4117.  0000h    not in use
  4118.  0002h    used by NetWare, no other requests
  4119.  0004h    used by NetWare, other requests
  4120.  0006h    in use, not needed by NetWare
  4121.  0008h    in use, needed by NetWare
  4122.  000Ah    channel released, NetWare should use it
  4123. --------N-21E3--SFDA-------------------------
  4124. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
  4125.     AH = E3h subfn DAh
  4126.     DS:SI -> request buffer (see #1211)
  4127.     ES:DI -> reply buffer (see #1212)
  4128. Return: AL = status (00h,C6h) (see #1223)
  4129. Notes:    this function is supported by Advanced NetWare 2.1+
  4130.     the calling workstation must have console operator privileges
  4131. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
  4132.  
  4133. Format of NetWare request buffer:
  4134. Offset    Size    Description    (Table 1211)
  4135.  00h    WORD    0003h (length of following data)
  4136.  02h    BYTE    DAh (subfunction "Get Connection's Task Information")
  4137.  03h    WORD    (big-endian) logical connection number
  4138.  
  4139. Format of NetWare reply buffer:
  4140. Offset    Size    Description    (Table 1212)
  4141.  00h    WORD    (call) size of following results record (max 1FEh)
  4142.  02h    BYTE    lock status of connection (see #1213)
  4143.  03h    var    Lock Status Information (see #1214)
  4144.  N    BYTE    number of records following
  4145.  N+1    Active Task Information Records [array]
  4146.     Offset    Size    Description
  4147.      00h    BYTE    task number (01h-FFh)
  4148.      01h    BYTE    task state
  4149.             01h in TTS explicit transaction
  4150.             02h in TTS implicit transaction
  4151.             04h shared fileset lock active
  4152.  
  4153. (Table 1213)
  4154. Values for lock status of connection:
  4155.  00h    no locks
  4156.  01h    waiting on physical record lock
  4157.  02h    waiting on file lock
  4158.  03h    waiting on logical record lock
  4159.  04h    waiting on semaphore
  4160.  
  4161. Format of Lock Status Information:
  4162. Offset    Size    Description    (Table 1214)
  4163. ---lock status 00h---
  4164.  no fields
  4165. ---lock status 01h---
  4166.  00h    BYTE    number of waiting task
  4167.  01h    DWORD    start address
  4168.  05h    DWORD    end address
  4169.  09h    BYTE    volume number
  4170.  0Ah    WORD    directory entry number
  4171.  0Ch 14 BYTEs    ASCIZ filename
  4172. ---lock status 02h---
  4173.  00h    BYTE    number of waiting task
  4174.  01h    BYTE    volume number
  4175.  02h    WORD    directory entry number
  4176.  04h 14 BYTEs    ASCIZ filename
  4177. ---lock status 03h---
  4178.  00h    BYTE    number of waiting task
  4179.  01h    BYTE    length of record name
  4180.  02h  N BYTEs    ASCIZ record name
  4181. ---lock status 04h---
  4182.  00h    BYTE    number of waiting task
  4183.  01h    BYTE    length of semaphore's name
  4184.  02h  N BYTEs    ASCIZ semaphore name
  4185. --------N-21E3--SFDB-------------------------
  4186. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES
  4187.     AH = E3h subfn DBh
  4188.     DS:SI -> request buffer (see #1215)
  4189.     ES:DI -> reply buffer (see #1216)
  4190. Return: AL = status (00h,C6h) (see #1223)
  4191. Notes:    this function is supported by Advanced NetWare 2.1+
  4192.     the calling workstation must have console operator privileges
  4193. SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
  4194. SeeAlso: AH=E3h/SF=E1h
  4195.  
  4196. Format of NetWare request buffer:
  4197. Offset    Size    Description    (Table 1215)
  4198.  00h    WORD    0005h (length of following data)
  4199.  02h    BYTE    DBh (subfunction "Get Connection's Open Files")
  4200.  03h    WORD    (big-endian) logical connection number
  4201.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4202.  
  4203. Format of NetWare reply buffer:
  4204. Offset    Size    Description    (Table 1216)
  4205.  00h    WORD    (call) size of following results record (max 1FEh)
  4206.  02h    WORD    next request record (place in "last record" field on next call)
  4207.         0000h if no more records
  4208.  04h    BYTE    number of records following
  4209.  05h    var    array of File Information Records (see #1217)
  4210.  
  4211. Format of NetWare File Information Record:
  4212. Offset    Size    Description    (Table 1217)
  4213.  00h    BYTE    task number
  4214.  01h    BYTE    lock flags (see #1218)
  4215.  02h    BYTE    access flags (see #1219)
  4216.  03h    BYTE    lock type
  4217.         00h no lock
  4218.         FEh file lock
  4219.         FFh locked by Begin Share File Set
  4220.  04h    BYTE    volume number (00h-1Fh)
  4221.  05h    WORD    (big-endian) directory entry
  4222.  07h 14 BYTEs    ASCIZ filename
  4223.  
  4224. Bitfields for lock flags:
  4225. Bit(s)    Description    (Table 1218)
  4226.  0    file is locked
  4227.  1    file opened Shareable
  4228.  2    logged
  4229.  3    file opened Normal
  4230.  6    TTS holding lock
  4231.  7    Transaction Flag set on file
  4232.  
  4233. Bitfields for access flags:
  4234. Bit(s)    Description    (Table 1219)
  4235.  0    file open for reading by calling station
  4236.  1    file open for writing by calling station
  4237.  2    deny reads by other stations
  4238.  3    deny writes by other stations
  4239.  4    file detached
  4240.  5    TTS Holding Detach
  4241.  6    TTS Holding Open
  4242. --------N-21E3--SFDC-------------------------
  4243. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
  4244.     AH = E3h subfn DCh
  4245.     DS:SI -> request buffer (see #1220)
  4246.     ES:DI -> reply buffer (see #1221)
  4247. Return: AL = status (00h,C6h) (see #1223)
  4248. Notes:    this function is supported by Advanced NetWare 2.1+
  4249.     the calling workstation must have console operator privileges
  4250. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
  4251.  
  4252. Format of NetWare request buffer:
  4253. Offset    Size    Description    (Table 1220)
  4254.  00h    WORD    length of following data (max 104h)
  4255.  02h    BYTE    DCh (subfunction "Get Connections Using a File")
  4256.  03h    WORD    (big-endian) last record (0000h on first call)
  4257.  05h    BYTE    directory handle
  4258.  06h    BYTE    length of file path
  4259.  07h  N BYTEs    ASCIZ file path
  4260.  
  4261. Format of NetWare reply buffer:
  4262. Offset    Size    Description    (Table 1221)
  4263.  00h    WORD    (call) size of following results record (max 1FEh)
  4264.  02h    WORD    (big-endian) count of tasks which have opened or logged file
  4265.  04h    WORD    (big-endian) count of tasks which have opened file
  4266.  06h    WORD    (big-endian) count of opens for reading
  4267.  08h    WORD    (big-endian) count of opens for writing
  4268.  0Ah    WORD    (big-endian) deny read count
  4269.  0Ch    WORD    (big-endian) deny write count
  4270.  0Eh    WORD    next request record (place in "last record" field on next call)
  4271.         0000h if no more records
  4272.  10h    BYTE    locked flag
  4273.         00h not locked exclusively
  4274.         else locked exclusively
  4275.  11h    BYTE    number of records following
  4276.  12h    var    array of File Usage Information Records (see #1222)
  4277.  
  4278. Format of NetWare File Usage Information Record:
  4279. Offset    Size    Description    (Table 1222)
  4280.  00h    WORD    (big-endian) logical connection number
  4281.  02h    BYTE    task number
  4282.  03h    BYTE    lock flags (see #1218)
  4283.  04h    BYTE    access flags (see #1219)
  4284.  05h    BYTE    lock type
  4285.         00h no lock
  4286.         FEh file lock
  4287.         FFh locked by Begin Share File Set
  4288. --------N-21E3--SFDD-------------------------
  4289. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
  4290.     AH = E3h subfn DDh
  4291.     DS:SI -> request buffer (see #1224)
  4292.     ES:DI -> reply buffer (see #1225)
  4293. Return: AL = status (00h,C6h,FFh) (see #1223)
  4294. Notes:    this function is supported by Advanced NetWare 2.1+
  4295.     the calling workstation must have console operator privileges
  4296. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh
  4297.  
  4298. (Table 1223)
  4299. Values for NetWare function status:
  4300.  00h    successful
  4301.  C6h    no console rights
  4302.  FFh    file not open
  4303.  
  4304. Format of NetWare request buffer:
  4305. Offset    Size    Description    (Table 1224)
  4306.  00h    WORD    0016h (length of following data)
  4307.  02h    BYTE    DDh (subfunction "Get Physical Record Locks by Connection and
  4308.           File")
  4309.  03h    WORD    (big-endian) logical connection number
  4310.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4311.  07h    BYTE    volume number (00h-1Fh)
  4312.  08h    WORD    (big-endian) directory handle
  4313.  0Ah 14 BYTEs    ASCIZ filename
  4314.  
  4315. Format of NetWare reply buffer:
  4316. Offset    Size    Description    (Table 1225)
  4317.  00h    WORD    (call) size of following results record (max 1FEh)
  4318.  02h    WORD    next request record (place in "last record" on next call)
  4319.         0000h if no more records
  4320.  04h    BYTE    number of physical record locks
  4321.  05h    BYTE    number of records following
  4322.  06h    var    array of Physical Record Lock Info records (see #1226)
  4323.  
  4324. Format of NetWare Physical Record Lock Info:
  4325. Offset    Size    Description    (Table 1226)
  4326.  00h    BYTE    task number
  4327.  01h    BYTE    lock status (see #1227)
  4328.  02h    DWORD    (big-endian) starting offset of record in file
  4329.  06h    DWORD    (big-endian) ending offset of record in file
  4330.  
  4331. Bitfields for lock status:
  4332. Bit(s)    Description    (Table 1227)
  4333.  0    exclusive lock
  4334.  1    shareable lock
  4335.  2    logged
  4336.  6    lock held by TTS
  4337. --------N-21E3--SFDE-------------------------
  4338. INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
  4339.     AH = E3h subfn DEh
  4340.     DS:SI -> request buffer (see #1228)
  4341.     ES:DI -> reply buffer (see #1229)
  4342. Return: AL = status (00h,C6h,FFh) (see #1223)
  4343. Notes:    this function is supported by Advanced NetWare 2.1+
  4344.     the calling workstation must have console operator privileges
  4345. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh
  4346.  
  4347. Format of NetWare request buffer:
  4348. Offset    Size    Description    (Table 1228)
  4349.  00h    WORD    length of following data (max 104h)
  4350.  02h    BYTE    DEh (subfunction "Get Physical Record Locks by File")
  4351.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4352.  05h    BYTE    directory handle
  4353.  06h    BYTE    length of filename
  4354.  07h  N BYTEs    ASCIZ filename
  4355.  
  4356. Format of NetWare reply buffer:
  4357. Offset    Size    Description    (Table 1229)
  4358.  00h    WORD    (call) size of following results record (max 1FEh)
  4359.  02h    WORD    next request record (place in "last record" on next call)
  4360.         0000h if no more records
  4361.  04h    BYTE    number of physical record locks
  4362.  05h    BYTE    number of records following
  4363.  06h    var    array of Physical Record Lock Info records (see #1230)
  4364.  
  4365. Format of NetWare Physical Record Lock Info:
  4366. Offset    Size    Description    (Table 1230)
  4367.  00h    WORD    (big-endian) number of tasks logging record
  4368.  02h    WORD    (big-endian) number of tasks with shareable lock
  4369.  04h    DWORD    (big-endian) starting offset of record in file
  4370.  08h    DWORD    (big-endian) ending offset of record in file
  4371.  0Ch    WORD    (big-endian) logical connection number
  4372.  0Eh    BYTE    task number
  4373.  0Fh    BYTE    lock type
  4374.         00h none
  4375.         FEh file lock
  4376.         FFh Begin Share File Set lock
  4377. --------N-21E3--SFDF-------------------------
  4378. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
  4379.     AH = E3h subfn DFh
  4380.     DS:SI -> request buffer (see #1231)
  4381.     ES:DI -> reply buffer (see #1232)
  4382. Return: AL = status (00h,C6h) (see #1223)
  4383. Notes:    this function is supported by Advanced NetWare 2.1+
  4384.     the calling workstation must have console operator privileges
  4385. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
  4386.  
  4387. Format of NetWare request buffer:
  4388. Offset    Size    Description    (Table 1231)
  4389.  00h    WORD    0005h (length of following data)
  4390.  02h    BYTE    DFh (subfunction "Get Logical Records By Connection")
  4391.  03h    WORD    (big-endian) logical connection number
  4392.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4393.  
  4394. Format of NetWare reply buffer:
  4395. Offset    Size    Description    (Table 1232)
  4396.  00h    WORD    (call) size of following results record (max 1FEh)
  4397.  02h    WORD    next request record (place in "last record" field on next call)
  4398.         0000h if no more locked records
  4399.  09h    BYTE    number of records following
  4400.  0Ah    var    array of Logical Lock Information Records (see #1233)
  4401.  
  4402. Format of NetWare Logical Lock Information Record:
  4403. Offset    Size    Description    (Table 1233)
  4404.  00h    BYTE    task number
  4405.  01h    BYTE    lock status (see #1227)
  4406.  02h    BYTE    length of logical lock's name
  4407.  03h  N BYTEs    logical lock's name
  4408. --------N-21E3--SFE0-------------------------
  4409. INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
  4410.     AH = E3h subfn E0h
  4411.     DS:SI -> request buffer (see #1234)
  4412.     ES:DI -> reply buffer (see #1235)
  4413. Return: AL = status (00h,C6h) (see #1223)
  4414. Notes:    this function is supported by Advanced NetWare 2.1+
  4415.     the calling workstation must have console operator privileges
  4416. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4417.  
  4418. Format of NetWare request buffer:
  4419. Offset    Size    Description    (Table 1234)
  4420.  00h    WORD    length of following data (max 67h)
  4421.  02h    BYTE    E0h (subfunction "Get Logical Record Information")
  4422.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4423.  05h    BYTE    length of logical record's name
  4424.  06h  N BYTEs    logical record's name
  4425.  
  4426. Format of NetWare reply buffer:
  4427. Offset    Size    Description    (Table 1235)
  4428.  00h    WORD    (call) size of following results record (max 200h)
  4429.  02h    WORD    (big-endian) number of logical connections logging the record
  4430.  04h    WORD    (big-endian) number of logical connections with shareable lock
  4431.  06h    WORD    (big-endian) next request record (place in "last record" field
  4432.           on next call)
  4433.  08h    BYTE    locked exclusively if nonzero
  4434.  09h    BYTE    number of records following
  4435.  0Ah    var    array of Task Information Records (see #1236)
  4436.  
  4437. Format of NetWare Task Information Record:
  4438. Offset    Size    Description    (Table 1236)
  4439.  00h    WORD    (big-endian) logical connection number
  4440.  02h    BYTE    task number
  4441.  03h    BYTE    lock status (see #1227)
  4442. --------N-21E3--SFE1-------------------------
  4443. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
  4444.     AH = E3h subfn E1h
  4445.     DS:SI -> request buffer (see #1237)
  4446.     ES:DI -> reply buffer (see #1238)
  4447. Return: AL = status (00h,C6h) (see #1223)
  4448. Notes:    this function is supported by Advanced NetWare 2.1+
  4449.     the calling workstation must have console operator privileges
  4450. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
  4451.  
  4452. Format of NetWare request buffer:
  4453. Offset    Size    Description    (Table 1237)
  4454.  00h    WORD    0005h (length of following data)
  4455.  02h    BYTE    E1h (subfunction "Get Connection's Semaphores")
  4456.  03h    WORD    (big-endian) logical connection number
  4457.  05h    WORD    (big-endian) last record seen (0000h on first call)
  4458.  
  4459. Format of NetWare reply buffer:
  4460. Offset    Size    Description    (Table 1238)
  4461.  00h    WORD    (call) size of following results record (max 1FEh)
  4462.  02h    WORD    next request record (place in "last record" field on next call)
  4463.  04h    BYTE    number of records following
  4464.  05h    var    array of Semaphore Information Records (see #1239)
  4465.  
  4466. Format of NetWare Semaphore Information Record:
  4467. Offset    Size    Description    (Table 1239)
  4468.  00h    WORD    (big-endian) open count
  4469.  02h    BYTE    semaphore value (-128 to 127)
  4470.  03h    BYTE    task number
  4471.  04h    BYTE    lock type
  4472.  05h    BYTE    length of semaphore's name
  4473.  06h  N BYTEs    semaphore's name
  4474.      14 BYTEs    filename
  4475. --------N-21E3--SFE2-------------------------
  4476. INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
  4477.     AH = E3h subfn E2h
  4478.     DS:SI -> request buffer (see #1240)
  4479.     ES:DI -> reply buffer (see #1241)
  4480. Return: AL = status (00h,C6h) (see #1245)
  4481. Notes:    this function is supported by Advanced NetWare 2.1+
  4482.     the calling workstation must have console operator privileges
  4483. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h
  4484.  
  4485. Format of NetWare request buffer:
  4486. Offset    Size    Description    (Table 1240)
  4487.  00h    WORD    length of following data (max 83h)
  4488.  02h    BYTE    E2h (subfunction "Get LAN Driver's Configuration Information")
  4489.  03h    WORD    (big-endian) last record seen (0000h on first call)
  4490.  05h    BYTE    length of semaphore's name (01h-7Fh)
  4491.  06h  N BYTEs    semaphore's name
  4492.  
  4493. Format of NetWare reply buffer:
  4494. Offset    Size    Description    (Table 1241)
  4495.  00h    WORD    (call) size of following results buffer (max 1FEh)
  4496.  02h    WORD    next request record (place in "last record" on next call)
  4497.         0000h if no more
  4498.  04h    WORD    (big-endian) number of logical connections opening semaphore
  4499.  06h    BYTE    semaphore value (-127 to 128)
  4500.  07h    BYTE    number of records following
  4501.  08h    var    array of Semaphore Information records (see #1242)
  4502.  
  4503. Format of NetWare Semaphore Information:
  4504. Offset    Size    Description    (Table 1242)
  4505.  00h    WORD    (big-endian) logical connection number
  4506.  02h    BYTE    task number
  4507. --------N-21E3--SFE3-------------------------
  4508. INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
  4509.     AH = E3h subfn E3h
  4510.     DS:SI -> request buffer (see #1243)
  4511.     ES:DI -> reply buffer (see #1244)
  4512. Return: AL = status (00h,C6h) (see #1245)
  4513. Notes:    this function is supported by Advanced NetWare 2.1+
  4514.     the calling workstation must have console operator privileges
  4515. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
  4516.  
  4517. Format of NetWare request buffer:
  4518. Offset    Size    Description    (Table 1243)
  4519.  00h    WORD    0002h (length of following data)
  4520.  02h    BYTE    E3h (subfunction "Get LAN Driver's Configuration Information")
  4521.  03h    BYTE    LAN board (00h-03h)
  4522.  
  4523. Format of NetWare reply buffer:
  4524. Offset    Size    Description    (Table 1244)
  4525.  00h    WORD    (call) 00ACh (size of following results buffer)
  4526.  02h  4 BYTEs    network number
  4527.  06h  6 BYTEs    node number
  4528.  0Ch    BYTE    LAN driver installed (00h no--remaining fields invalid)
  4529.  0Dh    BYTE    option number selected at configuration time
  4530.  0Eh 160 BYTEs    configuration text
  4531.         ASCIZ hardware type
  4532.         ASCIZ hardware settings
  4533. --------N-21E3--SFE5-------------------------
  4534. INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
  4535.     AH = E3h subfn E5h
  4536.     DS:SI -> request buffer (see #1246)
  4537.     ES:DI -> reply buffer (see #1247)
  4538. Return: AL = status (00h,C6h) (see #1245)
  4539. Notes:    this function is supported by Advanced NetWare 2.1+
  4540.     one must have console operator privileges to get statistics for logical
  4541.       connections other than one's own
  4542. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
  4543.  
  4544. (Table 1245)
  4545. Values for NetWare function status:
  4546.  00h    successful
  4547.  C6h    no console rights
  4548.  
  4549. Format of NetWare request buffer:
  4550. Offset    Size    Description    (Table 1246)
  4551.  00h    WORD    0003h (length of following data)
  4552.  02h    BYTE    E5h (subfunction "Get Connection's Usage Statistics")
  4553.  03h    WORD    (big-endian) logical connection number
  4554.  
  4555. Format of NetWare reply buffer:
  4556. Offset    Size    Description    (Table 1247)
  4557.  00h    WORD    (call) 0014h (size of following results record)
  4558.  02h    DWORD    (big-endian) clock ticks since server started
  4559.  06h  6 BYTEs    bytes read
  4560.  0Ch  6 BYTEs    bytes written
  4561.  12h    DWORD    (big-endian) total request packets
  4562. --------N-21E3--SFE6-------------------------
  4563. INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
  4564.     AH = E3h subfn E6h
  4565.     DS:SI -> request buffer (see #1248)
  4566.     ES:DI -> reply buffer (see #1249)
  4567. Return: AL = status (00h,C6h) (see #1245)
  4568. Notes:    this function is supported by Advanced NetWare 2.1+
  4569.     one must have console operator privileges to get the free space for
  4570.       other bindery objects
  4571. SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h
  4572.  
  4573. Format of NetWare request buffer:
  4574. Offset    Size    Description    (Table 1248)
  4575.  00h    WORD    0005h (length of following data)
  4576.  02h    BYTE    E6h (subfunction "Get Bindery Object Disk Space Left")
  4577.  03h    DWORD    (big-endian) object ID
  4578.  
  4579. Format of NetWare reply buffer:
  4580. Offset    Size    Description    (Table 1249)
  4581.  00h    WORD    (call) 000Fh (size of following results buffer)
  4582.  02h    DWORD    (big-endian) clock ticks elapsed since server started
  4583.  06h    DWORD    (big-endian) object ID
  4584.  0Ah    DWORD    (big-endian) 4K disk blocks available to user
  4585.  0Eh    BYTE    restrictions (00h enforced, FFh not enforced)
  4586. --------N-21E3--SFE7-------------------------
  4587. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
  4588.     AH = E3h subfn E7h
  4589.     DS:SI -> request buffer (see #1250)
  4590.     ES:DI -> reply buffer (see #1251)
  4591. Return: AL = status
  4592.         00h successful
  4593. Note:    this function is supported by Advanced NetWare 2.1+
  4594. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h,AH=E7h
  4595.  
  4596. Format of NetWare request buffer:
  4597. Offset    Size    Description    (Table 1250)
  4598.  00h    WORD    0001h (length of following data)
  4599.  02h    BYTE    E7h (subfunction "Get File Server LAN I/O Statistics")
  4600.  
  4601. Format of NetWare reply buffer:
  4602. Offset    Size    Description    (Table 1251)
  4603.  00h    WORD    (call) 0042h (size of following results buffer)
  4604.  02h    DWORD    clock ticks since system started
  4605.  06h    WORD    total routing buffers
  4606.  08h    WORD    maximum routing buffers used
  4607.  0Ah    WORD    current routing buffers used
  4608.  0Ch    DWORD    total file service packets
  4609.  10h    WORD    number of file service packets buffered
  4610.  12h    WORD    number of invalid connection packets
  4611.  14h    WORD    packets with bad logical connection numbers
  4612.  16h    WORD    number of packets received during processing
  4613.  18h    WORD    number of requests reprocessed
  4614.  1Ah    WORD    packets with bad sequence numbers
  4615.  1Ch    WORD    number of duplicate replies sent
  4616.  1Eh    WORD    number of acknowledgements sent
  4617.  20h    WORD    number of packets with bad request types
  4618.  22h    WORD    requests to attach to ws for which a request is being processed
  4619.  24h    WORD    requests to attach from ws which is already attaching
  4620.  26h    WORD    number of forged detach requests
  4621.  28h    WORD    detach requests with bad connection number
  4622.  2Ah    WORD    requests to detach from ws for which requests pending
  4623.  2Ch    WORD    number of cancelled replies
  4624.  2Eh    WORD    packets discarded due to excessive hop count
  4625.  30h    WORD    packets discarded due to unknown net
  4626.  32h    WORD    incoming packets discarded for lack of DGroup buffer
  4627.  34h    WORD    outgoing packets discarded due to lack of buffer
  4628.  36h    WORD    received packets destined for B,C, or D side drivers
  4629.  38h    DWORD    number of NetBIOS packets propagated through net
  4630.  3Ch    DWORD    total number of non-file-service packets
  4631.  40h    DWORD    total number of routed packets
  4632. Note:    all fields except the first are big-endian
  4633. --------N-21E3--SFE8-------------------------
  4634. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
  4635.     AH = E3h subfn E8h
  4636.     DS:SI -> request buffer (see #1252)
  4637.     ES:DI -> reply buffer (see #1253)
  4638. Return: AL = status (00h,C6h) (see #1245)
  4639. Note:    this function is supported by Advanced NetWare 2.1+
  4640. SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
  4641.  
  4642. Format of NetWare request buffer:
  4643. Offset    Size    Description    (Table 1252)
  4644.  00h    WORD    0001h (length of following data)
  4645.  02h    BYTE    E8h (subfunction "Get File Server Misc Information")
  4646.  
  4647. Format of NetWare reply buffer:
  4648. Offset    Size    Description    (Table 1253)
  4649.  00h    WORD    (call) size of following results buffer (max 0048h)
  4650.  02h    DWORD    (big-endian) clock ticks since system started
  4651.  06h    BYTE    CPU type
  4652.         00h Motorola 68000
  4653.         01h Intel 8086, 8088, or V20
  4654.         02h Intel 80286+
  4655.  07h    BYTE    reserved
  4656.  08h    BYTE    number of service processes in server
  4657.  09h    BYTE    server utilization in percent
  4658.  0Ah    WORD    (big-endian) maximum bindery objects set by configuration
  4659.         0000h = unlimited
  4660.  0Ch    WORD    (big-endian) maximum number of bindery objects used
  4661.  0Eh    WORD    (big-endian) current number of bindery objects in use
  4662.  10h    WORD    (big-endian) total server memory in KB
  4663.  12h    WORD    (big-endian) wasted server memory in KB
  4664.         normally 0000h
  4665.  14h    WORD    number of records following (01h-03h)
  4666.  16h    var    array of Dynamic Memory Information records (see #1254)
  4667.  
  4668. Format of NetWare Dynamic Memory Information:
  4669. Offset    Size    Description    (Table 1254)
  4670.  00h    DWORD    (big-endian) total dynamic space
  4671.  04h    DWORD    (big-endian) maximum dynamic space used
  4672.  08h    DWORD    (big-endian) current dynamic space usage
  4673. --------N-21E3--SFE9-------------------------
  4674. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
  4675.     AH = E3h subfn E9h
  4676.     DS:SI -> request buffer (see #1255)
  4677.     ES:DI -> reply buffer (see #1256)
  4678. Return: AL = status
  4679.         00h successful
  4680. Notes:    this function is supported by Advanced NetWare 2.1+
  4681. SeeAlso: AH=DAh,AH=E2h/SF=15h
  4682.  
  4683. Format of NetWare request buffer:
  4684. Offset    Size    Description    (Table 1255)
  4685.  00h    WORD    0002h (length of following data)
  4686.  02h    BYTE    E9h (subfunction "Get Volume Information")
  4687.  03h    BYTE    directory handle
  4688.  
  4689. Format of NetWare reply buffer:
  4690. Offset    Size    Description    (Table 1256)
  4691.  00h    WORD    (call) 0028h (length of following results buffer)
  4692.  02h    DWORD    (big-endian) elapsed system time
  4693.  06h    BYTE    volume number
  4694.  07h    BYTE    logical drive number
  4695.  08h    WORD    (big-endian) sectors per block
  4696.  0Ah    WORD    (big-endian) starting block
  4697.  0Ch    WORD    (big-endian) total blocks on volume
  4698.  0Eh    WORD    (big-endian) blocks available on volume
  4699.  10h    WORD    (big-endian) total directory slots
  4700.  12h    WORD    (big-endian) directory slots available
  4701.  14h    WORD    (big-endian) maximum directory entries actually used
  4702.  16h    BYTE    flag: volume hashed if nonzero
  4703.  17h    BYTE    flag: volume cached if nonzero
  4704.  18h    BYTE    flag: volume removable if nonzero
  4705.  19h    BYTE    flag: volume mounted if nonzero
  4706.  1Ah 16 BYTEs    NUL-padded volume name
  4707. --------N-21E4-------------------------------
  4708. INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
  4709.     AH = E4h
  4710.     CL = file attributes (see #1257)
  4711.     DX:DX -> FCB (see #0574 at AH=0Fh)
  4712. Return: AL = error code
  4713. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4714.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4715.       documentation
  4716. SeeAlso: AX=4301h
  4717.  
  4718. Bitfields for NetWare file attributes:
  4719. Bit(s)    Description    (Table 1257)
  4720.  0    read only
  4721.  1    hidden
  4722.  2    system
  4723.  7    shareable
  4724. --------v-21E4-------------------------------
  4725. INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
  4726.     AH = E4h
  4727. Return: AH = 04h if resident
  4728. SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"
  4729. --------T-21E400-----------------------------
  4730. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  4731.     AX = E400h
  4732. Return: AL = program status
  4733.         00h if DoubleDOS not present
  4734.         01h if running in visible DoubleDOS partition
  4735.         02h if running in the invisible DoubleDOS partition
  4736. SeeAlso: AH=E5h"DoubleDOS",AX=F400h
  4737. --------E-21E400-----------------------------
  4738. INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
  4739.     AX = E400h
  4740.     ???
  4741. Return: ???
  4742. Note:    protected mode only???
  4743. --------E-21E402-----------------------------
  4744. INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
  4745.     AX = E402h
  4746.     ???
  4747. Return: ???
  4748. Note:    protected mode only???
  4749. SeeAlso: AX=E403h
  4750. --------E-21E403-----------------------------
  4751. INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
  4752.     AX = E403h
  4753.     ???
  4754. Return: ???
  4755. Note:    protected mode only???
  4756. SeeAlso: AX=E402h
  4757. --------N-21E5-------------------------------
  4758. INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
  4759.     AH = E5h
  4760.     DS:DX -> FCB (see #0574 at AH=0Fh)
  4761. Return: AL = (unreliable) return code
  4762. Notes:    this function was added in NetWare 4.0, but was removed some time prior
  4763.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4764.       documentation
  4765.     on success, NetWare sets AL to zero; on errors it restores AL
  4766. --------T-21E5-------------------------------
  4767. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  4768.     AH = E5h
  4769. Return: AL = status
  4770.         00h no program in other partition
  4771.         01h program in other partition is running
  4772.         02h program in other partition is suspended
  4773. SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"
  4774. --------E-21E500-----------------------------
  4775. INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
  4776.     AX = E500h
  4777.     ???
  4778. Return: ???
  4779. SeeAlso: AX=E501h
  4780. --------E-21E501-----------------------------
  4781. INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
  4782.     AX = E501h
  4783.     ???
  4784. Return: ???
  4785. SeeAlso: AX=E500h
  4786. --------N-21E6-------------------------------
  4787. INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
  4788.     AH = E6h
  4789.     CX:DX = number of bytes to copy
  4790.     DS:SI -> opened source FCB
  4791.     ES:DI -> opened destination FCB
  4792. Return: AL = error code
  4793.     CX = ???
  4794.     DX = ???
  4795. Note:    this function was added in NetWare 4.0, but was removed some time prior
  4796.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4797.       documentation
  4798. --------E-21E6-------------------------------
  4799. INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
  4800.     AH = E6h
  4801.     ???
  4802. Return: ???
  4803. SeeAlso: AH=E2h"OS/286"
  4804. --------N-21E7-------------------------------
  4805. INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
  4806.     AH = E7h
  4807.     DS:DX -> date/time buffer (see #1258)
  4808. Return: AL = error code
  4809.         00h successful
  4810.         FFh unsuccessful
  4811. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
  4812.       Alloy NTNX, and Banyan VINES
  4813. SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh
  4814.  
  4815. Format of NetWare date/time buffer:
  4816. Offset    Size    Description    (Table 1258)
  4817.  00h    BYTE    year (80-99 = 1980-1999, 0-79 = 2000-2079)
  4818.  01h    BYTE    month (1=Jan)
  4819.  02h    BYTE    day
  4820.  03h    BYTE    hours
  4821.  04h    BYTE    minutes
  4822.  05h    BYTE    seconds
  4823.  06h    BYTE    day of week (0 = Sunday) (Novell and NTNX only)
  4824. --------E-21E7-------------------------------
  4825. INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
  4826.     AH = E7h
  4827.     ???
  4828. Return: ???
  4829. SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"
  4830. --------v-21E7-------------------------------
  4831. INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
  4832.     AH = E7h
  4833. Return: AH = 78h if resident
  4834. SeeAlso: AH=E4h"VIRUS",AX=EC59h
  4835. --------N-21E8-------------------------------
  4836. INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
  4837.     AH = E8h
  4838.     DL = mode
  4839.         00h no automatic re-open
  4840.         01h auto re-open
  4841. Return: AL = error code
  4842. Desc:    provided backward compatibility with a bug in CP/M and early DOS vers
  4843. Note:    this function was added in NetWare 4.6, but was removed some time prior
  4844.       to Advanced NetWare 2.15, and is no longer listed in current Novell
  4845.       documentation
  4846. --------E-21E8-------------------------------
  4847. INT 21 - OS/286, OS/386 - SEGMENT CREATION
  4848.     AH = E8h
  4849.     AL = type
  4850.         00h data segment
  4851.         01h data window/alias
  4852.         02h real segment
  4853.         03h real window/alias
  4854.         CX:DX = size in bytes
  4855.         SI:BX -> start of desired memory block
  4856.         Return:    AX = selector
  4857.         06h shareable segment
  4858.     ???
  4859. Return: ???
  4860. SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"
  4861. --------T-21E8-------------------------------
  4862. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  4863.     AH = E8h
  4864.     AL = program for which to set flags (00h this program, 01h other)
  4865.     DX = keyboard control flags (see #1259)
  4866. Return: DX = previous flags
  4867. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  4868.       disabling any of the other keystrokes disables them completely
  4869.     identical to AH=F8h
  4870. SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
  4871. SeeAlso: AH=F8h"DoubleDOS"
  4872.  
  4873. Bitfields for DoubleDOS keyboard control flags:
  4874. Bit(s)    Description    (Table 1259)
  4875.  0    menu
  4876.  1    exchange
  4877.  2    entire keyboard enable/disable
  4878.  3    Ctrl-C
  4879.  4    Ctrl-PrtSc
  4880.  5    Alt/Erase
  4881.  6    Ctrl-Break
  4882.  7    Ctrl-NumLock
  4883.  8    shift-PrtSc
  4884.  9-13    undefined
  4885.  14    cancel key (clear keyboard buffer)
  4886.  15    suspend key
  4887. Note:    setting a enables the corresponding key or operatin, clearing a
  4888.       disables it
  4889. --------E-21E9-------------------------------
  4890. INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
  4891.     AH = E9h
  4892.     AL = function
  4893.         01h change code segment parameters
  4894.         02h change data segment parameters
  4895.         05h adjust segment limit
  4896.         06h change segment base address
  4897.     ???
  4898. Return: ???
  4899. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
  4900. SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h
  4901. --------T-21E9-------------------------------
  4902. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  4903.     AH = E9h
  4904.     AL = new priority (see #1260)
  4905. Return: AL = priority setting if AL=05h on entry
  4906. Note:    identical to AH=F9h
  4907. SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"
  4908.  
  4909. (Table 1260)
  4910. Values for DoubleDOS timesharing priority:
  4911.  00h    visible program gets 70%, invisible gets 30% (default)
  4912.  01h    visible program gets 50%, invisible gets 50%
  4913.  02h    visible program gets 30%, invisible gets 70%
  4914.  03h    Top program gets 70%, bottom program gets 30%
  4915.  04h    Top program gets 30%, bottom program gets 70%
  4916.  05h    get current priority
  4917. --------N-21E900-----------------------------
  4918. INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
  4919.     AX = E900h
  4920.     DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
  4921. Return: AL = directory handle
  4922.     AH = flags (drive not mapped if none set)
  4923.         bit 0: permanent handle
  4924.         bit 1: temporary handle
  4925.         bit 7: mapped to local drive
  4926. Note:    this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
  4927.       Alloy NTNX
  4928. SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah
  4929. --------N-21E905-----------------------------
  4930. INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
  4931.     AX = E905h
  4932.     BL = drive number (0=default, 1=A:, ...)
  4933.     DS:DX -> ASCIZ path for fake root (may include server name or be empty)
  4934. Return: CF set on error
  4935.         AL = error code (03h,0Fh,11h) (see #0885 at AH=59h)
  4936.     CF clear if successful
  4937. Note:    if drive is not currently mapped, a drive mapping will be created
  4938. SeeAlso: AX=E906h
  4939. --------N-21E906-----------------------------
  4940. INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
  4941.     AX = E906h
  4942.     BL = drive number (0=default, 1=A:, ...)
  4943. Note:    drive remains mapped
  4944. SeeAlso: AX=E905h
  4945. --------N-21E907-----------------------------
  4946. INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
  4947.     AX = E907h
  4948.     BL = drive number (0=default, 1=A:, ...)
  4949. Return: AL = number of directories below the fake root
  4950.         FFh if no fake root assigned
  4951. SeeAlso: AX=E905h
  4952. --------N-21E908BL00-------------------------
  4953. INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
  4954.     AX = E908h
  4955.     BL = 00h    don't return '.' or '..' during directory scans
  4956.        = nonzero    directory scans will return '.' or '..' entries
  4957. Return: BL = previous show-dots setting
  4958. --------N-21E909-----------------------------
  4959. INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
  4960.     AX = E909h
  4961.     BX = DOS file handle
  4962. Return: AX = 0000h if successful
  4963.         BX:CX:DX = NetWare file handle
  4964. Notes:    this function is partially a reverse of "AttachHandle" (AH=B4h)
  4965.     many NetWare 3.x functions use a four-byte file handle, which appears
  4966.       to be the high four bytes of the six-byte NetWare handle
  4967. SeeAlso: AH=B4h"NetWare"
  4968. --------N-21EA-------------------------------
  4969. INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
  4970.     AH = EAh
  4971.     AL = return version environment string
  4972.         00h        don't return string
  4973.         nonzero    return string in 40-byte buffer pointed to by ES:DI
  4974.         Return: buffer filled with three null-terminated entries:
  4975.             major operating system
  4976.             version
  4977.             hardware type
  4978. Return: AH = operating system (00h = MS-DOS)
  4979.     AL = hardware type
  4980.         00h IBM PC
  4981.         01h Victor 9000
  4982.     BH = major shell version
  4983.     BL = minor shell version
  4984.     CH = (v3.01+) shell type
  4985.         00h conventional memory
  4986.         01h expanded memory
  4987.         02h extended memory
  4988.     CL = shell revision number
  4989. Note:    this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
  4990. --------T-21EA-------------------------------
  4991. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  4992.     AH = EAh
  4993. Return: task switching turned off
  4994. SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
  4995. SeeAlso: INT FA"DoubleDOS"
  4996. --------E-21EA-------------------------------
  4997. INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
  4998.     AH = EAh
  4999.     ???
  5000. Return: ???
  5001. Note:    protected mode only???
  5002. SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"
  5003. --------N-21EB-------------------------------
  5004. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
  5005.     AH = EBh
  5006.     DS:DX -> ASCIZ filename
  5007.     if function C6h lock mode 01h:
  5008.         AL = flags
  5009.         00h log file only
  5010.         01h lock as well as log file
  5011.             BP = lock timeout in timer ticks (1/18 second)
  5012.             0000h = don't wait if file already locked
  5013. Return: AL = status (see #1261)
  5014. Desc:    add the location and size of the specified file to the log table and
  5015.       optionally lock the file
  5016. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5017.       Alloy NTNX
  5018. SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"
  5019.  
  5020. (Table 1261)
  5021. Values for NetWare status:
  5022.  00h    successful
  5023.  96h    no dynamic memory for file
  5024.  FEh    timed out
  5025.  FFh    failed
  5026. --------T-21EB-------------------------------
  5027. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  5028.     AH = EBh
  5029. Return: task switching turned on
  5030. SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
  5031. SeeAlso: INT FB"DoubleDOS"
  5032. --------E-21EB00-----------------------------
  5033. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
  5034.     AX = EB00h
  5035.     ???
  5036. Return: ???
  5037. Note:    protected mode only???
  5038. SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h
  5039. --------E-21EB02-----------------------------
  5040. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
  5041.     AX = EB02h
  5042.     ???
  5043. Return: ???
  5044. Note:    protected mode only???
  5045. SeeAlso: AX=EB00h,AX=EB04h
  5046. --------E-21EB03-----------------------------
  5047. INT 21 - OS/386 VMM - FREE MAPPED PAGES
  5048.     AX = EB03h
  5049.     ???
  5050. Return: ???
  5051. Note:    protected mode only???
  5052. SeeAlso: AX=EB05h,INT 31/AX=0801h
  5053. --------E-21EB04-----------------------------
  5054. INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
  5055.     AX = EB04h
  5056.     ???
  5057. Return: ???
  5058. Note:    protected mode only???
  5059. SeeAlso: AX=EB00h,AX=EB02h
  5060. --------E-21EB05-----------------------------
  5061. INT 21 - OS/386 VMM - MAP PAGES
  5062.     AX = EB05h
  5063.     ???
  5064. Return: ???
  5065. Note:    protected mode only???
  5066. SeeAlso: AX=EB03h,INT 31/AX=0800h
  5067. --------E-21EB06-----------------------------
  5068. INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
  5069.     AX = EB06h
  5070.     ???
  5071. Return: ???
  5072. Note:    protected mode only???
  5073. SeeAlso: AX=EB07h,INT 31/AX=0600h
  5074. --------E-21EB07-----------------------------
  5075. INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
  5076.     AX = EB07h
  5077.     ???
  5078. Return: ???
  5079. Note:    protected mode only???
  5080. SeeAlso: AX=EB06h,INT 31/AX=0601h
  5081. --------N-21EC-------------------------------
  5082. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
  5083.     AH = ECh
  5084.     DS:DX -> ASCIZ filename
  5085. Return: AL = status
  5086.         00h successful
  5087.         FFh file not found
  5088. Desc:    unlock the specified file but retain it in the log table
  5089. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5090.       Alloy NTNX
  5091. SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"
  5092. --------T-21EC-------------------------------
  5093. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  5094.     AH = ECh
  5095. Return: ES = segment of virtual screen
  5096. Desc:    determine the address of the virtual screen to which the program
  5097.       should write instead of the actual video memory, so that the
  5098.       multitasked programs do not interfere with each other's output
  5099. Notes:    screen address can change if task-switching is on!!
  5100.     identical to AH=FCh
  5101. SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"
  5102. --------E-21EC-------------------------------
  5103. INT 21 - OS/286, OS/386 - BLOCK TRANSFER
  5104.     AH = ECh
  5105.     ???
  5106. Return: ???
  5107. --------v-21EC59-----------------------------
  5108. INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
  5109.     AX = EC59h
  5110. Return: BP = EC59h if resident
  5111. SeeAlso: AH=E7h"VIRUS",AH=EEh"VIRUS"
  5112. --------N-21ED-------------------------------
  5113. INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
  5114.     AH = EDh
  5115.     DS:DX -> ASCIZ filename
  5116. Return: AL = status
  5117.         00h successful
  5118.         FFh no files found
  5119. Desc:    unlock the file and remove it from the log table
  5120. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5121.       Alloy NTNX
  5122. SeeAlso: AH=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"
  5123. --------E-21ED-------------------------------
  5124. INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
  5125.     AH = EDh
  5126.     ???
  5127. Return: ???
  5128. Note:    protected mode only???
  5129. SeeAlso: AH=E9h"OS/286"
  5130. --------N-21EE-------------------------------
  5131. INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
  5132.     AH = EEh
  5133. Return: CX:BX:AX = six-byte physical address
  5134. Note:    this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
  5135.       Alloy NTNX
  5136. SeeAlso: AH=E3h/SF=13h
  5137. --------T-21EE-------------------------------
  5138. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  5139.     AH = EEh
  5140.     AL = number of 55ms time slices to give away
  5141. Return: returns after giving away time slices
  5142. SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"
  5143. --------v-21EE-------------------------------
  5144. INT 21 - VIRUS - "Jerusalem-G", "Pregnant" - INSTALLATION CHECK
  5145.     AH = EEh
  5146. Return: AX = 0300h if "Jerusalem-G" resident
  5147.     AL = 05h if "Pregnant" resident
  5148. SeeAlso: AH=DDh"VIRUS",AX=EC59h,AH=F0h"VIRUS"
  5149. --------N-21EF00-----------------------------
  5150. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
  5151.     AX = EF00h
  5152. Return: ES:SI -> network shell's 32-byte drive handle table
  5153.     AX = 0000h
  5154. Notes:    this function is supported by Advanced NetWare 1.0+
  5155.     each byte in the drive handle table contains the directory handle for
  5156.       the corresponding drive, or 00h if not mapped to a directory
  5157. SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h
  5158. --------N-21EF01-----------------------------
  5159. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
  5160.     AX = EF01h
  5161. Return: ES:SI -> network shell's 32-byte drive flag table (see #1262)
  5162.     AX = 0000h
  5163. Notes:    this function is supported by Advanced NetWare 1.0+
  5164.     each byte in the drive flag table corresponds to a drive
  5165. SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h
  5166.  
  5167. (Table 1262)
  5168. Values in NetWare drive flag table:
  5169.  00h    drive is not mapped
  5170.  01h    permanent network drive
  5171.  02h    temporary network drive
  5172.  80h    mapped to local drive
  5173.  81h    local drive used as permanent network drive
  5174.  82h    local drive used as temporary network drive
  5175. --------N-21EF02-----------------------------
  5176. INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
  5177.     AX = EF02h
  5178. Return: ES:SI -> network shell's 32-byte drive conection ID table
  5179.     AX = 0000h
  5180. Notes:    this function is supported by Advanced NetWare 1.0+
  5181.     each byte in the connection ID table corresponds to a drive and
  5182.       contains either the connection ID (1-8) of the server for that drive
  5183.       or 00h if the drive is not mapped to a file server
  5184. SeeAlso: AX=EF01h,AX=EF03h,AX=F002h
  5185. --------N-21EF03-----------------------------
  5186. INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
  5187.     AX = EF03h
  5188. Return: ES:SI -> network shell's connection ID table (see #1263)
  5189.     AX = 0000h
  5190. Note:    this function is supported by Advanced NetWare 1.0+
  5191. SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h
  5192.  
  5193. Format of NetWare connection ID table [one entry of eight-element array]:
  5194. Offset    Size    Description    (Table 1263)
  5195.  00h    BYTE    in-use flag
  5196.         E0h AES temporary
  5197.         F8h IPX in critical section
  5198.         FAh processing
  5199.         FBh holding
  5200.         FCh AES waiting
  5201.         FDh waiting
  5202.         FEh receiving
  5203.         FFh sending
  5204.  01h    BYTE    order number assigned to server (1-8)
  5205.  02h    DWORD    (big-endian) file server's network address
  5206.  06h  6 BYTEs    (big-endian) file server's node address
  5207.  0Ch    WORD    (big-endian) socket number
  5208.  0Eh    WORD    (big-endian) base receive timeout in clock ticks
  5209.  10h  6 BYTEs    (big-endian) preferred routing node
  5210.  16h    BYTE    packet sequence number
  5211.  17h    BYTE    connection number (FFh = no connection)
  5212.  18h    BYTE    connection status (00h if active)
  5213.  19h    WORD    (big-endian) maximum receive timeout in clock ticks
  5214.  1Bh  5 BYTEs    reserved
  5215. --------N-21EF04-----------------------------
  5216. INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
  5217.     AX = EF04h
  5218. Return: ES:SI -> network shell's file server name table (see #1264)
  5219.     AX = 0000h
  5220. Note:    this function is supported by Advanced NetWare 1.0+
  5221. SeeAlso: AX=EF03h
  5222.  
  5223. Format of file server name table:
  5224. Offset    Size    Description    (Table 1264)
  5225.  00h 48 BYTEs    ASCIZ server name for first entry in connection ID table
  5226.  30h 48 BYTEs    ASCIZ server name for second entry in connection ID table
  5227.     ...
  5228. 150h 48 BYTEs    ASCIZ server name for eighth entry in connection ID table
  5229. --------T-21F0-------------------------------
  5230. INT 21 - DoubleDOS - MENU CONTROL
  5231.     AH = F0h
  5232.     AL = subfunction
  5233.         01h exchange tasks
  5234.         73h resume invisible job if suspended
  5235.         74h kill other job
  5236.         75h suspend invisible job
  5237. Note:    identical to AH=E0h
  5238. SeeAlso: AH=E0h"DoubleDOS"
  5239. --------v-21F0-------------------------------
  5240. INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
  5241.     AH = F0h
  5242. Return: AX = 0300h if resident
  5243. SeeAlso: AH=EEh"VIRUS",AH=F1h"VIRUS"
  5244. --------N-21F000-----------------------------
  5245. INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
  5246.     AX = F000h
  5247.     DL = connection ID of prefered file server (1-8) or 00h for none
  5248. Notes:    this function is supported by Advanced NetWare 1.0+
  5249.     the preferred connection ID is set to 00h by the shell on EOJ
  5250. SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h
  5251. --------N-21F001-----------------------------
  5252. INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
  5253.     AX = F001h
  5254. Return: AL = connection ID of preferred file server (1-8), 00h if not set
  5255. Notes:    this function is supported by Advanced NetWare 1.0+
  5256.     the preferred connection ID is set to 00h by the shell on EOJ
  5257. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5258. --------N-21F002-----------------------------
  5259. INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
  5260.     AX = F002h
  5261. Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
  5262. Note:    this function is supported by Advanced NetWare 1.0+
  5263. SeeAlso: AX=EF03h,AX=F000h,AX=F004h
  5264. --------N-21F003-----------------------------
  5265. INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
  5266.     AX = F003h
  5267. Return: AH = status
  5268.         00h not active
  5269.         FFh active
  5270.         AL = connection ID (01h-08h)
  5271. Note:    this function is supported by Advanced NetWare 1.0+
  5272. SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h
  5273. --------N-21F004-----------------------------
  5274. INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
  5275.     AX = F004h
  5276.     DL = connection ID of primary file server (1-8) or 00h for none
  5277. Note:    this function is supported by Advanced NetWare 2.0+
  5278. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h
  5279. --------N-21F005-----------------------------
  5280. INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
  5281.     AX = F005h
  5282. Return: AL = connection ID of primary file server (1-8), 00h if not set
  5283. Notes:    this function is supported by Advanced NetWare 2.0+
  5284.     by default, the primary file server is the one from which the login
  5285.       script executed; it is set to 00h if the workstation is not logged in
  5286.       and when it detaches from its primary file server
  5287. SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h
  5288. --------N-21F1-------------------------------
  5289. INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
  5290.     AH = F1h
  5291.     AL = subfunction
  5292.         00h attach to file server
  5293.         DL = preferred file server (01h-08h)
  5294.         01h detach from file server
  5295.         DL = connection ID
  5296.         02h logout from file server
  5297.         DL = connection ID
  5298. Return: AL = status (see #1265)
  5299. Note:    these functions are supported by Advanced NetWare 1.0+
  5300. SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h
  5301.  
  5302. (Table 1265)
  5303. Values for NetWare function status:
  5304.  00h    successful
  5305.  F8h    already attached to server
  5306.  F9h    connection table full
  5307.  FAh    no more server slots
  5308.  FCh    unknown file server
  5309.  FEh    server bindery locked
  5310.  FFh    no response from server, or connection does not exist
  5311. --------T-21F1-------------------------------
  5312. INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
  5313.     AH = F1h
  5314. SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
  5315. SeeAlso: AH=F8h"DoubleDOS"
  5316. --------v-21F1-------------------------------
  5317. INT 21 - VIRUS - "F1-337" - ???
  5318.     AH = F1h
  5319.     ???
  5320. Return: ???
  5321. SeeAlso: AH=F0h"VIRUS",AX=F1E9h
  5322. --------v-21F1E9-----------------------------
  5323. INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
  5324.     AX = F1E9h
  5325. Return: AX = installation state
  5326.         CADEh installed, and calling program is infected
  5327.         F100h not installed (normal DOS return value)
  5328.         else  installed, but calling program is not infected
  5329. SeeAlso: AH=F1h"VIRUS",AX=F2AAh
  5330. --------N-21F2-------------------------------
  5331. INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
  5332.     AH = F2h
  5333.     AL = function (see #1266)
  5334.         (subfunction stored at DS:SI for AL=56h,57h,
  5335.           DS:SI+2 for AL=15h-17h,23h, DS:SI+11h for AL=68h)
  5336.     CX = length of request buffer in bytes
  5337.     DX = length of reply buffer in bytes
  5338.     DS:SI -> request buffer (contents vary by function)
  5339.     ES:DI -> reply buffer (contents vary by function)
  5340. Return: AL = status
  5341.     reply buffer filled as appropriate for function
  5342. Note:    this is a multiplexor providing a "raw" interface to the underlying
  5343.       NetWare Core Protocol.  Many functions which were accessed via a
  5344.       separate AH function in older versions can also be accessed here,
  5345.       but some NetWare 3.x calls appear to be available only here.
  5346. SeeAlso: AX=F244h,AX=F268h/SF=3Dh
  5347.  
  5348. (Table 1266)
  5349. Values for NetWare Core Protocol functions:
  5350. Fnc/Subfn    Description
  5351. 01h    File Set Lock
  5352. 02h    File Release Lock
  5353. 03h    Log File (see AH=EBh"NetWare")
  5354. 04h    Lock File Set (see AH=CBh"NetWare")
  5355. 05h    Release File (see AH=CCh,AH=ECh"NetWare")
  5356. 06h    Release File Set (see AH=CDh"NetWare")
  5357. 07h    Clear File (see AH=CEh,AH=EDh"NetWare")
  5358. 08h    Clear File Set (see AH=CFh"NetWare")
  5359. 09h    Log Logical Record (see AH=D0h"NetWare")
  5360. 0Ah    Lock Logical Record Set (see AH=D1h"NetWare")
  5361. 0Bh    Clear Logical Record (see AH=D4h"NetWare")
  5362. 0Ch    Release Logical Record (see AH=D2h"NetWare")
  5363. 0Dh    Release Logical Record Set (see AH=D3h"NetWare")
  5364. 0Eh    Clear Logical Record Set (see AH=D5h"NetWare")
  5365. 0Fh    Allocate Resource (see AH=D8h"NetWare")
  5366. 10h    Deallocate Resource (see AH=D9h"NetWare")
  5367. 11h/0Ah    Get Printer Queue
  5368. 11h/xxh    print spooling (see AX=E0xxh"NetWare")
  5369. 12h    Get Volume Info with Number (see AH=DAh"NetWare")
  5370. 13h    Get Station Number (see AH=DCh"NetWare")
  5371. 14h    Get File Server Date and Time (see AH=E7h"NetWare")
  5372. 15h/xxh    broadcast services (see AX=E1xxh"NetWare")
  5373. 16h/0Fh    Rename Directory
  5374. 16h/1Bh    Scan Salvagable Files
  5375. 16h/1Ch    Recover Salvagable File
  5376. 16h/1Dh    Purge Salvagable File
  5377. 16h/1Eh    Scan Dir Entry
  5378. 16h/1Fh    Get Dir ENtry
  5379. 16h/20h    Scan Volume for Restrictions
  5380. 16h/21h    Add User Disk Space Restriction (see AX=F216h/SF=21h)
  5381. 16h/22h    Clear Volume Restrictions
  5382. 16h/23h    Scan Dir Restrictions
  5383. 16h/24h    Set Directory Disk Space Restriction (see AX=F216h/SF=24h)
  5384. 16h/25h    Set Entry
  5385. 16h/26h    Scan File or Directory For Extended Trustees (see AX=F216h/SF=26h)
  5386. 16h/27h    Add Extended Trustee to Directory or File (see AX=F216h/SF=27h)
  5387. 16h/28h    Scan File Physical
  5388. 16h/29h    Get Object Disk Restrictions (see AX=F216h/SF=29h)
  5389. 16h/2Ah    Get Effective Rights
  5390. 16h/2Bh    Delete Trustee
  5391. 16h/2Ch    Get Volume Usage
  5392. 16h/2Dh    Get Dir Info
  5393. 16h/2Eh    Move Entry
  5394. 16h/2Fh    Fill Name Space Buffer
  5395. 16h/30h    Get Name Space Entry
  5396. 16h/31h    Open Data Stream
  5397. 16h/32h    Get Object Effective Rights
  5398. 16h/33h    Get Extended Volume Info
  5399. 16h/F3h    Map Directory Number to Path
  5400. 16h/xxh file/directory services (see AX=E2xxh"NetWare")
  5401. 17h/17h    Get Encryption Key
  5402. 17h/18h    Login Object Encrypted
  5403. 17h/1Ch    Get Connection Information (see AX=F217h/SF=1Ch)
  5404. 17h/1Fh    Get Connection List from Object
  5405. 17h/48h    Get Bindery Object Access Level
  5406. 17h/49h    Is Station a Manager?
  5407. 17h/4Ah    Verify Bindery Object Password Encrypted
  5408. 17h/4Bh    Change Bindery Object Password Encrypted
  5409. 17h/4Ch    Get Relation of an Object
  5410. 17h/D2h Clear Connection Number (Logout Station) (see AX=F217h/SF=D2h)
  5411. 17h/EBh    Get Connection's Open Files (see AX=F217h/SF=EBh)
  5412. 17h/ECh    Get Connections Using a File (see AX=F217h/SF=ECh)
  5413. 17h/EEh    Get Physical Record Locks by File (see AX=F217h/SF=EEh)
  5414. 17h/F2h Get Semaphore Information (see AX=F217h/SF=F2h)
  5415. 17h/F3h Map Directory Number to Path (see AX=F217h/SF=F3h)
  5416. 17h/F4h    Convert Path to Directory Entry (see AX=F217h/SF=F4h)
  5417. 17h/xxh    connection control (see AX=E3xxh"NetWare")
  5418. 18h    End of Job (see AH=D6h"NetWare")
  5419. 19h    Logout (see AH=D7h"NetWare")
  5420. 1Ah    Log Physical Record (see AH=BCh"NetWare")
  5421. 1Bh    Lock Physical Record Set (see AH=C2h"NetWare")
  5422. 1Ch    Release Physical Record (see AH=BDh"NetWare")
  5423. 1Dh    Release Physical Record Set (see AH=C3h"NetWare")
  5424. 1Eh    Clear Physical Record (see AH=BEh"NetWare")
  5425. 1Fh    Clear Physical Record Set (see AH=C4h"NetWare")
  5426. 20h/xxh    semaphore services (see AX=C5xxh"NetWare")
  5427. 21h    Negotiate Buffer
  5428. 22h/00h    TTS Is Available (see AX=C702h"NetWare")
  5429. 22h/01h    TTS Begin Transaction (see AX=C700h"NetWare")
  5430. 22h/02h    TTS End Transaction (see AX=C701h"NetWare")
  5431. 22h/03h    TTS Abort Transaction (see AX=C703h"NetWare")
  5432. 22h/04h    TTS Transaction Status (see AX=C704h"NetWare")
  5433. 22h/05h    TTS Get Application Thresholds (see AX=C705h"NetWare")
  5434. 22h/06h    TTS Set Application Thresholds (see AX=C706h"NetWare")
  5435. 22h/07h    TTS Get Workstation Thresholds (see AX=C707h"NetWare")
  5436. 22h/08h    TTS Set Workstation Thresholds (see AX=C708h"NetWare")
  5437. 22h/09h    TTS Get Control Flags
  5438. 22h/0Ah    TTS Set Control Flags
  5439. 23h/01h    AFP Create Directory
  5440. 23h/02h    AFP Create File
  5441. 23h/03h    AFP Delete
  5442. 23h/04h    AFP Get Entry ID From Name
  5443. 23h/05h    AFP Get FIle Infomration
  5444. 23h/06h    AFP Get Entry ID From NetWare Handle
  5445. 23h/07h    AFP Rename
  5446. 23h/08h    AFP Open File Fork
  5447. 23h/09h    AFP Set File Information
  5448. 23h/0Ah    AFP Scan File Information
  5449. 23h/0Bh    AFP Alloc Temporary Dir Handle
  5450. 23h/0Ch    AFP Get Entry ID From Path Name
  5451. 3Dh    Commit File
  5452. 3Eh    File Search Initialize (FindFirst)
  5453. 3Fh    File Search Continue (FindNext)
  5454. 40h    Search File
  5455. 42h    File Close
  5456. 43h    File Create
  5457. 44h    Erase Files
  5458. 45h    File Rename
  5459. 46h    Set File Attributes
  5460. 47h    Get File Size
  5461. 48h    File Read
  5462. 49h    File Write
  5463. 4Ah    File Server Copy (see AH=F3h"NetWare")
  5464. 4Bh    Set File Time and Date
  5465. 4Ch    File Open
  5466. 4Dh    Create New File
  5467. 4Eh    Allow Task Access to File
  5468. 4Fh    Set Extended File Attributes (see AH=B6h"NetWare")
  5469. 55h    Get File Bit Map
  5470. 56h/xx    extended attribute services (OS/2)
  5471. 56h/01h    close extended attribute
  5472. 56h/02h    write extended attribute
  5473. 56h/03h    read extended attribute
  5474. 56h/04h    enumerate extended attribute
  5475. 56h/05h    duplicate EA
  5476. 57h/01h    open/create file/directory
  5477. 57h/02h    init search, continue with 57h/03h
  5478. 57h/03h    Scan NS Entry Info
  5479. 57h/04h    rename file/directory
  5480. 57h/05h    scan for trustees
  5481. 57h/06h    Get NS Entry Info (see AX=F257h/SF=06h)
  5482. 57h/07h    Set NS Entry DOS Info
  5483. 57h/08h    delete file/directory
  5484. 57h/09h    set short directory handle
  5485. 57h/0Ah    Add Trustee
  5486. 57h/0Bh    Delete Trustee
  5487. 57h/0Ch    Allocate Temp NS Dir Handle
  5488. 57h/13h    Read NS Info
  5489. 57h/15h    get path string for short directory handle
  5490. 57h/16h    Get Directory Base
  5491. 57h/17h    Get NS Info
  5492. 57h/19h    Write NS Info
  5493. 57h/1Ah    Read Extended NS Info
  5494. 57h/1Bh    Write Extended NS Infor
  5495. 57h/1Ch    Get NS Path
  5496. 57h/1Dh    Get Effective Rights
  5497. 58h/01h    Get Volume Audit Statistics
  5498. 58h/02h    Add Audit Property
  5499. 58h/03h    Login as Volume Auditor
  5500. 58h/04h Change Auditor Password
  5501. 58h/05h Check Audit Access
  5502. 58h/06h    Remove Audit Property
  5503. 58h/07h    Disable Auditing on Volume
  5504. 58h/08h    Enable Auditing on Volume
  5505. 58h/09h    Is User Audited?
  5506. 58h/0Ah    Read Auditing Bit Map
  5507. 58h/0Bh    Read Audit Config Header
  5508. 58h/0Dh    Logout as Volume Auditor
  5509. 58h/0Eh    Reset Auditing File
  5510. 58h/0Fh    Reset Audit History File
  5511. 58h/10h    Write Auditing Bit Map
  5512. 58h/11h    Write Audit Config Header
  5513. 58h/13h    Get Auditing Flags
  5514. 58h/14h    Close Old Auditing File
  5515. 58h/15h    Delete Old Auditing File
  5516. 58h/16h    Check Audit Level Two Access
  5517. 5Ah/01h    Get DM Info
  5518. 61h    Negotiate LIP Buffer, packet signing, and IPX checksums
  5519. 65h    Packet Burst Connection
  5520. 68h/xxh NetWare 4.x directory services (subfn at DS:[SI+11h])
  5521. 68h/01h NDS resolve name
  5522. 68h/03h    NDS read property
  5523. 68h/35h NDS get server address
  5524. 68h/36h NDS set keys
  5525. 68h/39h NDS begin login
  5526. 68h/3Ah NDS finish login
  5527. 68h/3Bh NDS begin authenticate
  5528. 68h/3Ch NDS finish authenticate
  5529. 68h/3Dh NDS Logout
  5530. 72h    NetWare 4.x Time Services
  5531. 7Bh/01h    Get Cache Information
  5532. 7Bh/02h    Get File Server Information
  5533. 7Bh/03h    Get NetWare File Systems Information
  5534. 7Bh/04h    Get User Information
  5535. 7Bh/05h    Get Packet Burst Information
  5536. 7Bh/06h    Get IPX/SPX Information
  5537. 7Bh/07h    Get Garbage Collection Information
  5538. 7Bh/08h    Get CPU Information
  5539. 7Bh/09h    Get Volume Switch Information
  5540. 7Bh/0Ah    Get NLM Loaded List
  5541. 7Bh/0Bh    Get NLM Information
  5542. 7Bh/0Ch    Get Directory Cache Information
  5543. 7Bh/0Dh    Get OS Version Information
  5544. 7Bh/0Eh    Get Active Connection List by Type
  5545. 7Bh/0Fh    Get NLM's Resource Tag List
  5546. 7Bh/14h    Get Active LAN Board List
  5547. 7Bh/15h    Get LAN Configuration Information
  5548. 7Bh/16h    Get LAN Common Counters Information
  5549. 7Bh/17h    Get LAN Custom Counters Information
  5550. 7Bh/18h    Get LAN Config Strings
  5551. 7Bh/19h    Get LSL Informatino
  5552. 7Bh/1Ah    Get LSL Logical Board Statistics
  5553. 7Bh/1Eh    Get Media Manager Object Information
  5554. 7Bh/1Fh    Get Media Manager Object List
  5555. 7Bh/20h    Get Media Manager Object Children List
  5556. 7Bh/21h    Get Volume Segment List
  5557. 7Bh/28h    Get Active Protocol Stacks
  5558. 7Bh/29h    Get Protocol Stack Configuration Information
  5559. 7Bh/2Ah    Get Protocol Stack Statistics Information
  5560. 7Bh/2Bh    Get Protocol Stack Custom Information
  5561. 7Bh/2Ch    Get Protocol Stack Numbers By Media Number
  5562. 7Bh/2Dh    Get Protocol Stack Numbers By LAN Board Number
  5563. 7Bh/2Eh    Get Media Name by Media Number
  5564. 7Bh/2Fh    Get Loaded Media Number List
  5565. 7Bh/32h    Get General Router and SAP Information
  5566. 7Bh/33h    Get Network Router Information
  5567. 7Bh/34h    Get Network Routers Information
  5568. 7Bh/35h    Get Known Networks Information
  5569. 7Bh/36h    Get Server Information
  5570. 7Bh/38h    Get Known Servers Information
  5571. 7Bh/3Ch    Get Server Set Commands Information
  5572. 7Bh/3Dh    Get Server Set Categories
  5573. Note:    the subfunction is stored at DS:SI for AL=56h,57h, DS:SI+2 for
  5574.       AL=15h-17h,23h
  5575. --------T-21F2-------------------------------
  5576. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  5577.     AH = F2h
  5578.     AL = character
  5579. Return: AL = status
  5580.         00h successful
  5581.         01h buffer full (128 characters)
  5582. SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
  5583. SeeAlso: AH=F8h"DoubleDOS"
  5584. --------N-21F216SF21-------------------------
  5585. INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
  5586.     AX = F216h subfn 21h
  5587.     CX = length of request buffer in bytes
  5588.     DX = length of reply buffer in bytes
  5589.     DS:SI -> request buffer (see #1267)
  5590.     ES:DI -> reply buffer (ignored)
  5591. Return: AL = status
  5592. SeeAlso: AX=F216h/SF=24h
  5593.  
  5594. Format of NetWare request buffer:
  5595. Offset    Size    Description    (Table 1267)
  5596.  00h    WORD    000Ah (length of following data)
  5597.  02h    BYTE    21h (subfunction "Add User Disk Space Restriction")
  5598.  03h    BYTE    volume number
  5599.  04h    DWORD    (big-endian) object ID
  5600.  08h    DWORD    (big-endian) disk space limit in 4K blocks
  5601.         00000000h to 40000000h
  5602. --------N-21F216SF24-------------------------
  5603. INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
  5604.     AX = F216h subfn 24h
  5605.     CX = length of request buffer in bytes
  5606.     DX = length of reply buffer in bytes
  5607.     DS:SI -> request buffer (see #1268)
  5608.     ES:DI -> reply buffer (ignored)
  5609. Return: AL = status
  5610. SeeAlso: AX=F216h/SF=21h
  5611.  
  5612. Format of NetWare request buffer:
  5613. Offset    Size    Description    (Table 1268)
  5614.  00h    WORD    0006h (length of following data)
  5615.  02h    BYTE    24h (subfunction "Set Directory Disk Space Restriction")
  5616.  03h    BYTE    directory handle
  5617.  04h    DWORD    (big-endian) disk space limit in 4K blocks
  5618.         00000000h to remove restriction, negative to set to 0 blocks
  5619. --------N-21F216SF26-------------------------
  5620. INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
  5621.     AX = F216h subfn 26h
  5622.     CX = length of request buffer in bytes
  5623.     DX = length of reply buffer in bytes
  5624.     DS:SI -> request buffer (see #1269)
  5625.     ES:DI -> reply buffer (see #1270)
  5626. Return: AL = status
  5627. Desc:    get up to 20 extended trustee entries per call for a file or directory
  5628.  
  5629. Format of NetWare request buffer:
  5630. Offset    Size    Description    (Table 1269)
  5631.  00h    WORD    length of following data
  5632.  02h    BYTE    26h (subfunc "Scan File or Directory For Extended Trustees")
  5633.  03h    BYTE    directory handle
  5634.  04h    BYTE    sequence number
  5635.         00h for first call, increment by number of returned entries
  5636.  05h    BYTE    length of path
  5637.  06h  N BYTEs    pathname
  5638.  
  5639. Format of NetWare reply buffer:
  5640. Offset    Size    Description    (Table 1270)
  5641.  00h    BYTE    number of entries returned (max 20)
  5642.  01h 20 DWORDs    (big-endian) list of object IDs
  5643.  51h 20 WORDs    list of associated trustee rights
  5644. --------N-21F216SF27-------------------------
  5645. INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
  5646.     AX = F216h subfn 27h
  5647.     CX = length of request buffer in bytes
  5648.     DX = length of reply buffer in bytes
  5649.     DS:SI -> request buffer (see #1271)
  5650.     ES:DI -> reply buffer (ignored)
  5651. Return: AL = status
  5652.  
  5653. Format of NetWare request buffer:
  5654. Offset    Size    Description    (Table 1271)
  5655.  00h    WORD    length of following data
  5656.  02h    BYTE    27h (subfunction "Add Extended Trustee to Directory or File")
  5657.  03h    BYTE    directory handle
  5658.  04h    DWORD    (big-endian) object ID
  5659.  08h    WORD    trustee rights (see #1272)
  5660.  0Ah    BYTE    path length
  5661.  0Bh  N BYTEs    path name
  5662.  
  5663. Bitfields for NetWare trustee rights:
  5664. Bit(s)    Description    (Table 1272)
  5665.  0    read
  5666.  1    write
  5667.  3    create
  5668.  4    delete
  5669.  5    access
  5670.  6    file
  5671.  7    modify
  5672.  8    supervisor
  5673. --------N-21F216SF29-------------------------
  5674. INT 21 - Novell NetWare v3+ - GET OBJECT DISK RESTRICTIONS
  5675.     AX = F216h subfn 29h
  5676.     CX = length of request buffer in bytes
  5677.     DX = length of reply buffer in bytes
  5678.     DS:SI -> request buffer (see #1273)
  5679.     ES:DI -> reply buffer (see #1274)
  5680. Return: AL = status
  5681.     reply buffer filled
  5682. Note:    this function returns successfully, showing no restriction, if an
  5683.       invalid object ID is specified
  5684. SeeAlso: AX=F216h/SF=24h
  5685.  
  5686. Format of NetWare request buffer:
  5687. Offset    Size    Description    (Table 1273)
  5688.  00h    WORD    0006h (length of following data)
  5689.  02h    BYTE    21h (subfunction "Get Object Disk Restrictions")
  5690.  03h    BYTE    volume number
  5691.  04h    DWORD    (big-endian) object ID
  5692.  
  5693. Format of NetWare reply buffer:
  5694. Offset    Size    Description    (Table 1274)
  5695.  00h    DWORD    disk space limit
  5696.  04h    DWORD    disk space currently in use by object
  5697. --------N-21F217SF1C-------------------------
  5698. INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
  5699.     AX = F217h subfn 1Ch
  5700.     CX = length of request buffer in bytes
  5701.     DX = length of reply buffer in bytes
  5702.     DS:SI -> request buffer (see #1275)
  5703.     ES:DI -> reply buffer (see #1276)
  5704. Return: AL = status
  5705.     reply buffer filled
  5706.  
  5707. Format of NetWare request buffer:
  5708. Offset    Size    Description    (Table 1275)
  5709.  00h    WORD    0005h (length of following data)
  5710.  02h    BYTE    1Ch (subfunction "Get Connection Information")
  5711.  03h    DWORD    target connection number
  5712. Note:    connection numbers greater than the maximum supported by the server
  5713.       can cause ABENDs
  5714.  
  5715. Format of NetWare reply buffer:
  5716. Offset    Size    Description    (Table 1276)
  5717.  00h    DWORD    (big-endian) unique user ID, 00000000h if no one logged in
  5718.  04h    WORD    (big-endian) user type
  5719.  06h 48 BYTEs    user name
  5720.  36h  7 BYTEs    login time (see #1258)
  5721.  3Dh    BYTE    reserved
  5722. --------N-21F217SFD2-------------------------
  5723. INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
  5724.     AX = F217h subfn D2h
  5725.     CX = length of request buffer in bytes
  5726.     DX = length of reply buffer in bytes
  5727.     DS:SI -> request buffer (see #1277)
  5728.     ES:DI -> reply buffer (ignored)
  5729. Return: AL = status
  5730.     reply buffer filled
  5731.  
  5732. Format of NetWare request buffer:
  5733. Offset    Size    Description    (Table 1277)
  5734.  00h    WORD    0002h (length of following data)
  5735.  02h    BYTE    D2h (subfunction "Clear Connection Number")
  5736.  03h    BYTE    connection number
  5737. --------N-21F217SFEB-------------------------
  5738. INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
  5739.     AX = F217h subfn EBh
  5740.     CX = length of request buffer in bytes
  5741.     DX = length of reply buffer in bytes
  5742.     DS:SI -> request buffer (see #1278)
  5743.     ES:DI -> reply buffer (see #1279)
  5744. Return: AL = status
  5745.     reply buffer filled
  5746.  
  5747. Format of NetWare request buffer:
  5748. Offset    Size    Description    (Table 1278)
  5749.  00h    WORD    0005h (length of following data)
  5750.  02h    BYTE    EBh (subfunction "Get Connection's Open Files")
  5751.  03h    WORD    target connection number
  5752.  05h    WORD    last record seen (set to 0000h for first call)
  5753. Note:    connection numbers greater than the maximum supported by the server
  5754.       can cause ABENDs
  5755.  
  5756. Format of NetWare reply buffer:
  5757. Offset    Size    Description    (Table 1279)
  5758.  00h    WORD    next request record
  5759.  02h    WORD    number of records returned (max 28)
  5760.  04h 29N BYTEs    array of connection records (see #1280)
  5761.  
  5762. Format of NetWare connection record:
  5763. Offset    Size    Description    (Table 1280)
  5764.  00h    WORD    task number
  5765.  02h    BYTE    lock type
  5766.  03h    BYTE    access control
  5767.  04h    BYTE    lock flag
  5768.  05h    BYTE    volume number
  5769.  06h    DWORD    parent directory entry number
  5770.  0Ah    DWORD    directory entry number
  5771.  0Eh    BYTE    reserved
  5772.  0Fh    BYTE    data stream type
  5773.  10h    BYTE    file name length
  5774.  11h 12 BYTEs    file name
  5775. --------N-21F217SFEC-------------------------
  5776. INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
  5777.     AX = F217h subfn ECh
  5778.     CX = length of request buffer in bytes
  5779.     DX = length of reply buffer in bytes
  5780.     DS:SI -> request buffer (see #1281)
  5781.     ES:DI -> reply buffer (see #1282)
  5782. Return: AL = status
  5783.     reply buffer filled
  5784.  
  5785. Format of NetWare request buffer:
  5786. Offset    Size    Description    (Table 1281)
  5787.  00h    WORD    0009h (length of following data)
  5788.  02h    BYTE    ECh (subfunction "Get Connections Using a File")
  5789.  03h    BYTE    data stream type
  5790.  04h    BYTE    volume number
  5791.  05h    DWORD    directory entry number
  5792.  09h    WORD    last record seen (0000h for first call)
  5793.  
  5794. Format of NetWare reply buffer:
  5795. Offset    Size    Description    (Table 1282)
  5796.  00h    WORD    next request record
  5797.  02h    WORD    use count
  5798.  04h    WORD    open count
  5799.  06h    WORD    number of times open for reading
  5800.  08h    WORD    number of times open for writing
  5801.  0Ah    WORD    Deny Read count
  5802.  0Ch    WORD    Deny Write count
  5803.  0Eh    BYTE    flag: locked
  5804.  0Fh    BYTE    data stream type
  5805.  10h    WORD    number of records returned (max 70)
  5806.  12h 7N BYTEs    returned records (see #1283)
  5807.  
  5808. Format of returned record:
  5809. Offset    Size    Description    (Table 1283)
  5810.  00h    WORD    connection number
  5811.  02h    WORD    task number
  5812.  04h    BYTE    lock type
  5813.  05h    BYTE    access flag
  5814.  06h    BYTE    lock flag
  5815. --------N-21F217SFEE-------------------------
  5816. INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
  5817.     AX = F217h subfn EEh
  5818.     CX = length of request buffer in bytes
  5819.     DX = length of reply buffer in bytes
  5820.     DS:SI -> request buffer (see #1284)
  5821.     ES:DI -> reply buffer (see #1285)
  5822. Return: AL = status
  5823.     reply buffer filled
  5824.  
  5825. Format of NetWare request buffer:
  5826. Offset    Size    Description    (Table 1284)
  5827.  00h    WORD    0009h (length of following data)
  5828.  02h    BYTE    EEh (subfunction "Get Physical Record Locks by File")
  5829.  03h    BYTE    data stream number
  5830.  04h    BYTE    volume number
  5831.  05h    DWORD    directory entry number
  5832.  09h    WORD    last record seen (0000h for first call)
  5833.  
  5834. Format of NetWare reply buffer:
  5835. Offset    Size    Description    (Table 1285)
  5836.  00h    WORD    next request record
  5837.  02h    WORD    number of locks
  5838.  04h 17N BYTEs    array of lock records, one per lock (see #1286)
  5839.  
  5840. Format of NetWare lock record:
  5841. Offset    Size    Description    (Table 1286)
  5842.  00h    WORD    logged count
  5843.  02h    WORD    number of shareable locks
  5844.  04h    DWORD    start offset of record
  5845.  08h    DWORD    end offset of record
  5846.  0Ch    WORD    logical connection number
  5847.  0Eh    WORD    task number
  5848.  10h    BYTE    lock type
  5849. --------N-21F217SFF2-------------------------
  5850. INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
  5851.     AX = F217h subfn F2h
  5852.     CX = length of request buffer in bytes
  5853.     DX = length of reply buffer in bytes
  5854.     DS:SI -> request buffer (see #1287)
  5855.     ES:DI -> reply buffer (see #1288)
  5856. Return: AL = status
  5857.     reply buffer filled
  5858.  
  5859. Format of NetWare request buffer:
  5860. Offset    Size    Description    (Table 1287)
  5861.  00h    WORD    length of following data (max 84h)
  5862.  02h    BYTE    F2h (subfunction "Get Semaphore Information")
  5863.  03h    WORD    last record seen (0000h on first call)
  5864.  05h    BYTE    length of semaphore name (max 128)
  5865.  06h  N BYTEs    semaphore name
  5866.  
  5867. Format of NetWare reply buffer:
  5868. Offset    Size    Description    (Table 1288)
  5869.  00h    WORD    next request record
  5870.  02h    WORD    open count
  5871.  04h    BYTE    value of semaphore
  5872.  05h    WORD    number of records returned
  5873.  07h 2N WORDs    list of logical connection number/task number pairs
  5874. --------N-21F217SFF3-------------------------
  5875. INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
  5876.     AX = F217h subfn F3h
  5877.     CX = length of request buffer in bytes
  5878.     DX = length of reply buffer in bytes
  5879.     DS:SI -> request buffer (see #1289)
  5880.     ES:DI -> reply buffer (see #1290)
  5881. Return: AL = status
  5882.     reply buffer filled
  5883. SeeAlso: AX=F217h/SF=F4h
  5884.  
  5885. Format of NetWare request buffer:
  5886. Offset    Size    Description    (Table 1289)
  5887.  00h    WORD    0007h (length of following data)
  5888.  02h    BYTE    F3h (subfunction "Map Directory Number to Path")
  5889.  03h    BYTE    volume number
  5890.  04h    DWORD    directory entry number
  5891.  08h    BYTE    name space type
  5892.  
  5893. Format of NetWare reply buffer:
  5894. Offset    Size    Description    (Table 1290)
  5895.  00h    BYTE    directory path length
  5896.  01h  N BYTEs    directory path (NetWare style, separated by length descriptors
  5897.           rather than slashes or backslashes)
  5898. --------N-21F217SFF4-------------------------
  5899. INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
  5900.     AX = F217h subfn F4h
  5901.     CX = length of request buffer in bytes
  5902.     DX = length of reply buffer in bytes
  5903.     DS:SI -> request buffer (see #1291)
  5904.     ES:DI -> reply buffer (see #1292)
  5905. Return: AL = status
  5906.     reply buffer filled
  5907. SeeAlso: AX=F217h/SF=F3h
  5908.  
  5909. Format of NetWare request buffer:
  5910. Offset    Size    Description    (Table 1291)
  5911.  00h    WORD    length of following data
  5912.  02h    BYTE    F4h (subfunction "Convert Path to Directory Entry")
  5913.  03h    BYTE    directory handle or 00h for none
  5914.  04h    BYTE    length of directory path
  5915.  05h  N BYTEs    directory path (must be fully qualified if no handle specified)
  5916.  
  5917. Format of NetWare reply buffer:
  5918. Offset    Size    Description    (Table 1292)
  5919.  00h    BYTE    (ret) volume number
  5920.  01h    DWORD    (ret) directory entry number
  5921. --------N-21F244-----------------------------
  5922. INT 21 - Novell NetWare - FILE SERVICES - ERASE FILES
  5923.     AX = F244h
  5924.     DS:SI -> request buffer (see #1294)
  5925.     ES:DI -> reply buffer (ignored???)
  5926. Return: AL = status (see #1293)
  5927. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  5928.       actually delete all marked files
  5929. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
  5930.  
  5931. (Table 1293)
  5932. Values for NetWare function status:
  5933.  00h    successful
  5934.  98h    nonexistent volume
  5935.  9Bh    invaid directory handle
  5936.  9Ch    invalid path
  5937.  FFh    no files found
  5938.  
  5939. Format of NetWare request buffer:
  5940. Offset    Size    Description    (Table 1294)
  5941.  00h    BYTE    directory handle
  5942.  01h    BYTE    search attributes (see #0643 at AX=4301h)
  5943.  02h    BYTE    length of filespec
  5944.  03h  N BYTEs    ASCIZ filespec (may include wildcards)
  5945. --------N-21F257SF06-------------------------
  5946. INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
  5947.     AX = F257h subfn 06h
  5948.     CX = length of request buffer in bytes
  5949.     DX = length of reply buffer in bytes
  5950.     DS:SI -> request buffer (see #1295)
  5951.     ES:DI -> reply buffer (see #1297)
  5952. Return: AL = status
  5953.     reply buffer filled
  5954.  
  5955. Format of NetWare request buffer:
  5956. Offset    Size    Description    (Table 1295)
  5957.  00h    BYTE    06h (subfunction "Get NS Entry Info")
  5958.  01h    BYTE    name space
  5959.  02h    BYTE    destination name space
  5960.  03h    WORD    search attributes
  5961.  05h    DWORD    return information mask (see #1296)
  5962.  09h    BYTE    volume number
  5963.  0Ah    DWORD    directory base
  5964.  0Eh    BYTE    handle flag
  5965.         00h first byte of dir base is dir handle; ignore volume number
  5966.         01h dir base = unique ID, volume number set
  5967.         FFh volume number and dir base ignored, volume part of path
  5968.  0Fh    BYTE    number of path components
  5969.  10h  N BYTEs    list of path components (each a counted string)
  5970.  
  5971. Bitfields for return information mask:
  5972. Bit(s)    Description    (Table 1296)
  5973.  0    include filename
  5974.  1    data stream space allocated info
  5975.  2    attributes info
  5976.  3    data stream size info
  5977.  4    total space allocated for all data streams
  5978.  5    extended attributes info
  5979.  6    archive info
  5980.  7    modify info
  5981.  8    create info
  5982.  9    name space info
  5983.  10    directory info
  5984.  11    rights info
  5985.  
  5986. Format of NetWare reply buffer for name space info:
  5987. Offset    Size    Description    (Table 1297)
  5988.  00h 72 BYTEs    reserved
  5989.  48h    DWORD    creator's name space number
  5990.  4Ch 257 BYTEs    reserved
  5991. --------N-21F258SF01-------------------------
  5992. INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
  5993.     AX = F258h subfn 01h
  5994.     CX = length of request buffer in bytes (0005h)
  5995.     DX = length of reply buffer in bytes (0020h)
  5996.     DS:SI -> request buffer (see #1298)
  5997.     ES:DI -> reply buffer (see #1299)
  5998. Return: AL = status
  5999.     reply buffer filled
  6000. SeeAlso: AX=F268h/SF=C8h
  6001.  
  6002. Format of NetWare "Get Volume Auditing Statistics" request buffer:
  6003. Offset    Size    Description    (Table 1298)
  6004.  00h    BYTE    01h (function "Get Volume Auditing Statistics")
  6005.  01h    DWORD    volume
  6006. SeeAlso: #1299
  6007.  
  6008. Format of NetWare "Get Volume Auditing Statistics" reply buffer:
  6009. Offset    Size    Description    (Table 1299)
  6010.  00h    WORD    auditing version (date)
  6011.  02h    WORD    audit file version (date)
  6012.  04h    DWORD    auditing enabled flag
  6013.  08h    DWORD    audit file's size
  6014.  0Ch    DWORD    audit configuration file's size
  6015.  10h    DWORD    maximum audit file size
  6016.  14h    DWORD    audit file size threshold
  6017.  18h    DWORD    number of audit records
  6018.  1Ch    DWORD    number of history records
  6019. SeeAlso: #1298,#1311
  6020. --------N-21F268SF01-------------------------
  6021. INT 21 - Novell NetWare v4+ - GET TREE NAME
  6022.     AX = F268h subfn 01h
  6023.     CX = length of request buffer in bytes (0001h)
  6024.     DX = length of reply buffer in bytes (0064h)
  6025.     DS:SI -> request buffer (see #1300)
  6026.     ES:DI -> reply buffer (see #1301)
  6027. Return: AL = status
  6028.     reply buffer filled
  6029. SeeAlso: AX=F268h/SF=04h
  6030.  
  6031. Format of NetWare "Get Tree Name" request buffer:
  6032. Offset    Size    Description    (Table 1300)
  6033.  00h    BYTE    01h
  6034.  
  6035. Format of NetWare "Get Tree Name" reply buffer:
  6036. Offset    Size    Description    (Table 1301)
  6037.  00h    DWORD    ???
  6038.  04h    DWORD    ???
  6039.  08h 32 BYTEs    tree name, padded with underscores ('_')
  6040.  28h 60 BYTEs    ???
  6041. --------N-21F268SF04-------------------------
  6042. INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
  6043.     AX = F268h subfn 04h
  6044.     CX = length of request buffer in bytes (0001h)
  6045.     DX = length of reply buffer in bytes 
  6046.     DS:SI -> request buffer (see #1302)
  6047.     ES:DI -> reply buffer (see #1303)
  6048. Return: AL = status
  6049.     reply buffer filled
  6050. SeeAlso: AX=F268h/SF=01h,AX=F268h/SF=C8h
  6051.  
  6052. Format of NetWare "Get Bindery Context" request buffer:
  6053. Offset    Size    Description    (Table 1302)
  6054.  00h    BYTE    04h
  6055.  
  6056. Format of NetWare "Get Bindery Context" reply buffer:
  6057. Offset    Size    Description    (Table 1303)
  6058.  00h    DWORD    length
  6059.  04h  N WORDs    Unicode bindery context string
  6060. --------N-21F268SF16-------------------------
  6061. INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
  6062.     AX = F268h subfn 16h
  6063.     CX = length of request buffer in bytes
  6064.     DX = length of reply buffer in bytes
  6065.     DS:SI -> request buffer (see #1304)
  6066.     ES:DI -> reply buffer (see #1305)
  6067. Return: AL = status
  6068.     reply buffer filled
  6069. Note:    the length specified in CX must be exactly 13 bytes more than the
  6070.       length field at offset 09h in the request buffer for this function
  6071.       to be successful
  6072. SeeAlso: AX=F268h/SF=35h
  6073.  
  6074. Format of NetWare "NDS List Partitions" request buffer:
  6075. Offset    Size    Description    (Table 1304)
  6076.  00h    BYTE    02h
  6077.  01h    DWORD    ??? (FFFFFFFFh)
  6078.  05h    DWORD    ??? (00000202h)
  6079.  09h    DWORD    length (00000018h)
  6080.  0Dh    DWORD    ??? (00000000h)
  6081.  11h    DWORD    function (00000016h) (subfunction "NDS List Partitions")
  6082.  15h    DWORD    ??? (00000400h)
  6083.  19h    DWORD    API version (00000000h)
  6084.  1Dh    DWORD    ??? (00000000h)
  6085.  21h    DWORD    iteration (FFFFFFFFh)
  6086. SeeAlso: #1305,#1306
  6087.  
  6088. Format of NetWare "NDS List Partitions" reply buffer:
  6089. Offset    Size    Description    (Table 1305)
  6090.  00h    DWORD    length
  6091.  04h    DWORD    ???
  6092.  08h    DWORD    return code
  6093.  0Ch    DWORD    iteration
  6094.  10h 1000 BYTEs    returned data
  6095. SeeAlso: #1304
  6096. --------N-21F268SF35-------------------------
  6097. INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
  6098.     AX = F268h subfn 35h
  6099.     CX = length of request buffer in bytes
  6100.     DX = length of reply buffer in bytes
  6101.     DS:SI -> request buffer (see #1306)
  6102.     ES:DI -> reply buffer (see #1307)
  6103. Return: AL = status
  6104.     reply buffer filled
  6105. Note:    the length specified in CX must be exactly 13 bytes more than the
  6106.       length field at offset 09h in the request buffer for this function
  6107.       to be successful
  6108. SeeAlso: AX=F268h/SF=16h
  6109.  
  6110. Format of NetWare "NDS Get Server Name and Address" request buffer:
  6111. Offset    Size    Description    (Table 1306)
  6112.  00h    BYTE    02h
  6113.  01h    DWORD    ??? (FFFFFFFFh)
  6114.  05h    DWORD    ??? (00000202h)
  6115.  09h    DWORD    length (0000000Ch)
  6116.  0Dh    DWORD    ??? (00000000h)
  6117.  11h    DWORD    function (00000035h) (subfunc "NDS Get Server Name and Addr")
  6118.  15h    DWORD    ??? (00000400h)
  6119. SeeAlso: #1304,#1307
  6120.  
  6121. Format of NetWare "NDS Get Server Name and Address" reply buffer:
  6122. Offset    Size    Description    (Table 1307)
  6123.  00h    DWORD    length
  6124.  04h    DWORD    ???
  6125.  08h    DWORD    return code
  6126.  0Ch    DWORD    length of name
  6127.  10h  N WORDs    Unicode server name string
  6128.     var    padding
  6129.     DWORD    ??? (00000001h)
  6130.     DWORD    ??? (00000000h)
  6131.     DWORD    ??? (0000000Ch)
  6132.      12 BYTEs    server's IPX address
  6133. SeeAlso: #1306
  6134. --------N-21F268SF3D-------------------------
  6135. INT 21 - Novell NetWare v4+ - NDS LOGOUT
  6136.     AX = F268h subfn 3Dh
  6137.     CX = length of request buffer in bytes
  6138.     DX = length of reply buffer in bytes
  6139.     DS:SI -> request buffer (see #1308)
  6140.     ES:DI -> reply buffer (see #1309)
  6141. Return: AL = status
  6142.     reply buffer filled
  6143.  
  6144. Format of NetWare "NDS Logout" request buffer:
  6145. Offset    Size    Description    (Table 1308)
  6146.  00h    BYTE    02h
  6147.  01h    DWORD    ??? (FFFFFFFFh)
  6148.  05h    DWORD    ??? (00000202h)
  6149.  09h    DWORD    length (0000000Ch)
  6150.  0Dh    DWORD    ??? (00000000h)
  6151.  11h    DWORD    function (0000003Dh) (subfunction "NDS Logout")
  6152.  15h    DWORD    ??? (00000000h)
  6153. SeeAlso: #1309
  6154.  
  6155. Format of NetWare "NDS Logout" reply buffer:
  6156. Offset    Size    Description    (Table 1309)
  6157.  00h    DWORD    length
  6158.  04h    DWORD    ???
  6159.  08h    DWORD    return code
  6160. SeeAlso: #1308
  6161. --------N-21F268SFC8-------------------------
  6162. INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
  6163.     AX = F268h subfn C8h
  6164.     CX = length of request buffer in bytes (0001h)
  6165.     DX = length of reply buffer in bytes (0020h)
  6166.     DS:SI -> request buffer (see #1310)
  6167.     ES:DI -> reply buffer (see #1311)
  6168. Return: AL = status
  6169.     reply buffer filled
  6170. SeeAlso: AX=F258h/SF=01h,AX=F268h/SF=01h,AX=F268h/SF=04h
  6171.  
  6172. Format of NetWare "Get DS Auditing Statistics" request buffer:
  6173. Offset    Size    Description    (Table 1310)
  6174.  00h    BYTE    C8h
  6175. SeeAlso: #1311
  6176.  
  6177. Format of NetWare "Get DS Auditing Statistics" reply buffer:
  6178. Offset    Size    Description    (Table 1311)
  6179.  00h    WORD    auditing version (date)
  6180.  02h    WORD    audit file version (date)
  6181.  04h    DWORD    auditing enabled flag
  6182.  08h    DWORD    audit file's size
  6183.  0Ch    DWORD    audit configuration file's size
  6184.  10h    DWORD    maximum audit file size
  6185.  14h    DWORD    audit file size threshold
  6186.  18h    DWORD    number of audit records
  6187.  1Ch    DWORD    number of history records
  6188. SeeAlso: #1299,#1310
  6189. --------N-21F272-----------------------------
  6190. INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
  6191.     AX = F272h
  6192.     CX = length of request buffer in bytes (0003h)
  6193.     DX = length of reply buffer in bytes (0064h)
  6194.     DS:SI -> request buffer (see #1312)
  6195.     ES:DI -> reply buffer (see #1313)
  6196. Return: AL = status
  6197.     reply buffer filled
  6198.  
  6199. Format of NetWare "Get File Server UTC Time" request buffer:
  6200. Offset    Size    Description    (Table 1312)
  6201.  00h    BYTE    ??? (00h)
  6202.  01h    BYTE    ??? (01h)
  6203.  02h    BYTE    ??? (01h)
  6204. SeeAlso: #1313
  6205.  
  6206. Format of NetWare "Get File Server UTC Time" reply buffer:
  6207. Offset    Size    Description    (Table 1313)
  6208.  00h    DWORD    seconds
  6209.  04h    DWORD    ???
  6210.  04h    DWORD    ??? (00000204h)
  6211.  04h    DWORD    ??? (00000000h)
  6212.  04h    DWORD    ??? (00000000h)
  6213.  04h    DWORD    ??? (FFFFFFFFh)
  6214.  04h    DWORD    ??? (00000000h)
  6215. SeeAlso: #1312
  6216. --------N-21F27BSF33-------------------------
  6217. INT 21 - Novell NetWare v4+ - GET ROUTER INFO
  6218.     AX = F27Bh subfn 33h
  6219.     CX = length of request buffer in bytes
  6220.     DX = length of reply buffer in bytes
  6221.     DS:SI -> request buffer (see #1314)
  6222.     ES:DI -> reply buffer (see #1315)
  6223. Return: AL = status
  6224.     reply buffer filled
  6225. SeeAlso: AX=F27Bh/SF=35h
  6226.  
  6227. Format of NetWare "Get Router Info" request buffer:
  6228. Offset    Size    Description    (Table 1314)
  6229.  00h    WORD    ???
  6230.  02h    BYTE    33h (function "Get Router Info")
  6231.  03h    DWORD    network number
  6232. SeeAlso: #1315
  6233.  
  6234. Format of NetWare "Get Router Info" reply buffer:
  6235. Offset    Size    Description    (Table 1315)
  6236.  00h    DWORD    timestamp
  6237.  04h    DWORD    ???
  6238.  08h    DWORD    network number
  6239.  0Ch    WORD    hops
  6240.  0Eh    WORD    ???
  6241.  10h    WORD    time
  6242. SeeAlso: #1314,#1316
  6243. --------N-21F27BSF35-------------------------
  6244. INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
  6245.     AX = F27Bh subfn 35h
  6246.     CX = length of request buffer in bytes
  6247.     DX = length of reply buffer in bytes
  6248.     DS:SI -> request buffer (see #1316)
  6249.     ES:DI -> reply buffer (see #1317)
  6250. Return: AL = status
  6251.     reply buffer filled
  6252. SeeAlso: AX=F27Bh/SF=33h
  6253.  
  6254. Format of NetWare "Get Router Info" request buffer:
  6255. Offset    Size    Description    (Table 1316)
  6256.  00h    WORD    ???
  6257.  02h    BYTE    35h (function "Get Known Networks Info")
  6258.  03h    DWORD    ??? (00000000h)
  6259. SeeAlso: #1317
  6260.  
  6261. Format of NetWare "Get Router Info" reply buffer:
  6262. Offset    Size    Description    (Table 1317)
  6263.  00h    DWORD    timestamp
  6264.  04h    DWORD    ???
  6265.  08h    DWORD    number of records following
  6266.  0Ch    var    array of network info records
  6267.         Offset    Size    Description
  6268.          00h    WORD    network number
  6269.          04h    WORD    hops
  6270.          06h    WORD    ???
  6271.          08h    WORD    time
  6272. SeeAlso: #1314,#1316
  6273. --------v-21F2AA-----------------------------
  6274. INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
  6275.     AX = F2AAh
  6276. Return: AH = AAh if resident
  6277. SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
  6278. --------N-21F3-------------------------------
  6279. INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
  6280.     AH = F3h
  6281.     ES:DI -> request buffer (see #1318)
  6282. Return: AL = status/error code
  6283.     CX:DX = number of bytes copied
  6284. Notes:    this function is supported by Advanced NetWare 2.0+
  6285.     both source and destination must be on the same file server
  6286. SeeAlso: AH=3Ch,AH=3Fh
  6287.  
  6288. Format of NetWare request buffer:
  6289. Offset    Size    Description    (Table 1318)
  6290.  00h    WORD    source file handle (as returned by AH=3Ch or AH=3Dh)
  6291.  02h    WORD    destination file handle
  6292.  04h    DWORD    starting offset in source
  6293.  08h    DWORD    starting offset in destination
  6294.  0Ch    DWORD    number of bytes to copy
  6295. --------T-21F3-------------------------------
  6296. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  6297.     AH = F3h
  6298.     AL = character
  6299. Return: AL = 00h successful
  6300.          01h buffer full (128 characters)
  6301. SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6302. SeeAlso: AH=F8h"DoubleDOS"
  6303. --------v-21F3-------------------------------
  6304. INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
  6305.     AH = F3h
  6306. Return: AX = 0400h if resident
  6307. SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
  6308. --------T-21F400-----------------------------
  6309. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  6310.     AX = F400h
  6311. Return: AL = program status
  6312.         00h if DoubleDOS not present
  6313.         01h if running in visible DoubleDOS partition
  6314.         02h if running in the invisible DoubleDOS partition
  6315. SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
  6316. --------T-21F5-------------------------------
  6317. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  6318.     AH = F5h
  6319. Return: AL = program status
  6320.         00h no program in other partition
  6321.         01h program in other partition is running
  6322.         02h program in other partition is suspended
  6323. SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
  6324. --------v-21F7-------------------------------
  6325. INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
  6326.     AH = F7h
  6327. Return: AX = 0300h if resident
  6328. SeeAlso: AH=F0h"VIRUS",AH=FBh"VIRUS"
  6329. --------D-21F8-------------------------------
  6330. INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
  6331.     AH = F8h
  6332.     DS:DX -> OEM INT 21 handler for functions F9h to FFh
  6333.          FFFFh:FFFFh disables OEM handler
  6334. Notes:    this function is known to be supported by Toshiba T1000 ROM MS-DOS
  6335.       v2.11, Sanyo MS-DOS v2.11, and TI Professional Computer DOS v2.13
  6336.     calls to AH=F9h through AH=FFH will return AL=00h if no handler set
  6337.     handler is called with all registers exactly as set by caller, and
  6338.       should exit with IRET
  6339. SeeAlso: AH=F9h"OEM"
  6340. --------T-21F8-------------------------------
  6341. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  6342.     AH = F8h
  6343.     AL = program for which to set flags
  6344.         00h this program
  6345.         01h other program
  6346.     DX = keyboard control flags (see #1259 at AH=E8h"DoubleDOS")
  6347. Return: DX = previous flags
  6348. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  6349.       disabling any of the other keystrokes disables them completely
  6350.     this function is identical to AH=E8h
  6351. SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  6352. SeeAlso: AH=F3h"DoubleDOS"
  6353. --------D-21F9-------------------------------
  6354. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6355.     AH = F9h
  6356. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6357. SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
  6358. --------T-21F9-------------------------------
  6359. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  6360.     AH = F9h
  6361.     AL = priority
  6362.         00h visible program gets 70%, invisible gets 30% (default)
  6363.         01h visible program gets 50%, invisible gets 50%
  6364.         02h visible program gets 30%, invisible gets 70%
  6365.         03h Top program gets 70%, bottom program gets 30%
  6366.         04h Top program gets 30%, bottom program gets 70%
  6367.         05h get current priority
  6368.         Return: AL = priority setting
  6369. Note:    identical to AH=E9h
  6370. SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
  6371. --------D-21FA-------------------------------
  6372. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6373.     AH = FAh
  6374. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6375. SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
  6376. --------T-21FA-------------------------------
  6377. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  6378.     AH = FAh
  6379. Return: task switching turned off
  6380. SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
  6381. SeeAlso: INT FA"DoubleDOS"
  6382. --------v-21FA--DX5945-----------------------
  6383. INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
  6384.     AH = FAh
  6385.     DX = 5945h
  6386.     AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
  6387. Return: varies by function
  6388. Note:    this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
  6389.       so it is listed in its entirety only under INT 16/AX=FA00h and
  6390.       following
  6391. SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
  6392. --------D-21FB-------------------------------
  6393. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6394.     AH = FBh
  6395. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6396. SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
  6397. --------T-21FB-------------------------------
  6398. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  6399.     AH = FBh
  6400. Return: task switching turned on
  6401. SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
  6402. SeeAlso: INT FB"DoubleDOS"
  6403. --------v-21FB-------------------------------
  6404. INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
  6405.     AH = FBh
  6406. Return: AH = 00h if resident
  6407. SeeAlso: AH=F7h"VIRUS",AX=FB0Ah
  6408. --------v-21FB0A-----------------------------
  6409. INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
  6410.     AX = FB0Ah
  6411. Return: AX = 0AFBh if resident
  6412. SeeAlso: AH=FBh"VIRUS",AH=FCh"VIRUS"
  6413. --------D-21FC-------------------------------
  6414. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6415.     AH = FCh
  6416. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6417. SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
  6418. --------T-21FC-------------------------------
  6419. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  6420.     AH = FCh
  6421. Return: ES = segment of virtual screen
  6422. Desc:    Determine the address of the virtual screen to which the program
  6423.       should write instead of the actual video memory, so that the
  6424.       multitasked programs do not interfere with each other's output.
  6425. Notes:    screen address can change if task-switching is on!!
  6426.     identical to AH=ECh
  6427. SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
  6428. --------v-21FC-------------------------------
  6429. INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
  6430.     AH = FCh
  6431. Return: AL = A5h if resident
  6432. SeeAlso: AX=FB0Ah"VIRUS",AH=FDh"VIRUS"
  6433. --------D-21FD-------------------------------
  6434. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6435.     AH = FDh
  6436. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6437. SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"
  6438. --------v-21FD-------------------------------
  6439. INT 21 - VIRUS - "Border" - INSTALLATION CHECK
  6440.     AH = FDh
  6441. Return: AH = 13h if resident
  6442. SeeAlso: AH=FCh"VIRUS",AH=FEh"VIRUS"
  6443. --------s-21FD12BX3457-----------------------
  6444. INT 21 - Gravis UltraSound - MegaEm - INSTALLATION CHECK
  6445.     AX = FD12h
  6446.     BX = 3457h
  6447. Return: AX = 5678h if installed
  6448.     BX = 1235h if installed
  6449.         CL = interrupt vector used by MegaEm (default 81h)
  6450. Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
  6451.       emulator for the Gravis UltraSound
  6452. SeeAlso: INT 2F/AX=CD00h/BX=464Fh,INT 7E/AX=00FEh"SBOS"
  6453. --------D-21FE-------------------------------
  6454. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6455.     AH = FEh
  6456. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6457. SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
  6458. --------T-21FE-------------------------------
  6459. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  6460.     AH = FEh
  6461.     AL = number of 55ms time slices to give away
  6462. Return: returns after giving away time slices
  6463. SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  6464. --------v-21FE-------------------------------
  6465. INT 21 - VIRUS - "483" - INSTALLATION CHECK
  6466.     AH = FEh
  6467. Return: AH = 00h if resident
  6468. SeeAlso: AH=FDh"VIRUS",AX=FE01h
  6469. --------v-21FE01-----------------------------
  6470. INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
  6471.     AX = FE01h
  6472. Return: AX = 01FEh if resident
  6473. SeeAlso: AH=FEh"VIRUS",AX=FE02h
  6474. --------v-21FE02-----------------------------
  6475. INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
  6476.     AX = FE02h
  6477. Return: AX = 01FDh if resident
  6478. SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
  6479. --------v-21FE03-----------------------------
  6480. INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
  6481.     AX = FE03h
  6482. SeeAlso: AX=FE02h
  6483. --------d-21FEDC-----------------------------
  6484. INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
  6485.     AX = FEDCh
  6486. Return: AX = CDEFh if installed
  6487. Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
  6488.       infrequently-used files to be compressed to save space and
  6489.       transparently expanded when accessed
  6490. SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
  6491. --------v-21FEDC-----------------------------
  6492. INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
  6493.     AX = FEDCh
  6494. Return: AL = DCh if resident
  6495. SeeAlso: AX=FE02h,AX=FEFEh
  6496. --------v-21FEFE-----------------------------
  6497. INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
  6498.     AX = FEFEh
  6499. Return: SI = 1994h if resident
  6500. SeeAlso: AX=FEDCh"VIRUS",AH=FFh"VIRUS"
  6501. --------D-21FF-------------------------------
  6502. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  6503.     AH = FFh
  6504. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  6505. SeeAlso: AH=F8h"OEM",AH=FEh"OEM"
  6506. --------K-21FF-------------------------------
  6507. INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
  6508.     AH = FFh
  6509.     AL = subfunction
  6510.         00h add installable command
  6511.         BL = mode
  6512.             bit 0 = 1 callable from DOS prompt
  6513.             bit 1 = 1 callable from application
  6514.         DS:SI -> CR-terminated command name
  6515.         ES:DI -> FAR routine entry point
  6516.         01h remove installable command
  6517.         DS:SI -> CR-terminated command name
  6518.         02h reserved, may be used to test for CED installation
  6519. Return: CF clear if successful
  6520.     CF set on error
  6521.         AX = error code
  6522.         01h invalid function
  6523.         02h command not found (subfunction 01h only)
  6524.         08h insufficient memory (subfunction 00h only)
  6525.         0Eh bad data (subfunction 00h only)
  6526.     AH = FFh if CED not installed
  6527. Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
  6528. SeeAlso: AX=0A00h
  6529. --------E-21FF-------------------------------
  6530. INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
  6531.     AH = FFh
  6532.     AL = function
  6533.         01h create file
  6534.         02h open file
  6535.         03h get file statistics
  6536.         04h get time of day
  6537.         05h set time of day
  6538.         06h stat
  6539.         07h system
  6540. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  6541.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  6542. SeeAlso: INT 10/AH=FFh"GO32"
  6543. --------K-21FF-------------------------------
  6544. INT 21 - DOSED.COM - INSTALLATION CHECK
  6545.     AH = FFh
  6546.     DS:SI -> "DOSED"
  6547.     ES = 0000h
  6548. Return: ES:DI -> "DOSED" if installed
  6549. Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
  6550.       Huseby
  6551. --------v-21FF-------------------------------
  6552. INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
  6553.     AH = FFh
  6554. Return: AH = 00h if "Tumen 0.5" or "Hero" resident
  6555.     AX = 0400h if "Sunday" resident
  6556. SeeAlso: AX=FEDCh"VIRUS",AX=FF0Fh
  6557. --------E-21FF-------------------------------
  6558. INT 21 UP - Rational Systems DOS/4GW - API
  6559.     AH = FFh
  6560.     DH = function (00h-17h) (see also separate entries below)
  6561.     DL = subfunction or argument
  6562. Return: CF clear if valid function number
  6563.         AX = status???
  6564.     CF set if invalid function
  6565. SeeAlso: INT 15/AX=BFDCh
  6566. --------E-21FF--DH00-------------------------
  6567. INT 21 UP - Rational Systems DOS/4GW - VERSION CHECK???
  6568.     AH = FFh
  6569.     DH = 00h
  6570.     DL = ??? (78h seen)
  6571. Return: CF clear
  6572.     EAX = 4734FFFFh (high word is byte-swapped "4G") if DOS/4G installed   
  6573. Note:    Quarterdeck's DESQview/X X Toolkit library uses this call to determine
  6574.       whether the direct-mapped linear 4GB segment's selector is 34h or 38h
  6575. SeeAlso: INT 21/AH=FFh"DOS/4GW"
  6576. --------E-21FF--DH02-------------------------
  6577. INT 21 UP - Rational Systems DOS/4GW - SET ???
  6578.     AH = FFh
  6579.     DH = 02h
  6580.     DL = ???
  6581. Return: CF clear
  6582. --------E-21FF--DH05-------------------------
  6583. INT 21 UP - Rational Systems DOS/4GW - ???
  6584.     AH = FFh
  6585.     DH = 05h
  6586.     BX = ???
  6587. Return: ???
  6588. --------E-21FF--DH06-------------------------
  6589. INT 21 UP - Rational Systems DOS/4GW - ???
  6590.     AH = FFh
  6591.     DH = 06h
  6592.     BX = ???
  6593. Return: ???
  6594. --------E-21FF--DH07-------------------------
  6595. INT 21 UP - Rational Systems DOS/4GW - ???
  6596.     AH = FFh
  6597.     DH = 07h
  6598.     BX = ???
  6599. Return: ???
  6600. --------E-21FF--DH08-------------------------
  6601. INT 21 UP - Rational Systems DOS/4GW - ???
  6602.     AH = FFh
  6603.     DH = 08h
  6604.     BX = ???
  6605.     CX = ???
  6606.     ES = ???
  6607. Return: ???
  6608. --------E-21FF--DH09-------------------------
  6609. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6610.     AH = FFh
  6611.     DH = 09h
  6612. Return: ES:BX -> ???
  6613. --------E-21FF--DH0A-------------------------
  6614. INT 21 UP - Rational Systems DOS/4GW - ???
  6615.     AH = FFh
  6616.     DH = 0Ah
  6617.     AL = ???
  6618.     BX = ???
  6619.     CX = ???
  6620. Return: ES = ??? or 0000h
  6621. --------E-21FF--DH0B-------------------------
  6622. INT 21 UP - Rational Systems DOS/4GW - ???
  6623.     AH = FFh
  6624.     DH = 0Bh
  6625.     AL = ???
  6626.     BX = ???
  6627.     CX = ???
  6628. Return: ???
  6629. --------E-21FF--DH0C-------------------------
  6630. INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
  6631.     AH = FFh
  6632.     DH = 0Ch
  6633.     DL = ??? (00h or 01h)
  6634. Return: CF clear if successful
  6635.         AL = previous value of ???
  6636.     CF set on error (DL out of range)
  6637.         AX = FFFFh
  6638. --------E-21FF--DH0D-------------------------
  6639. INT 21 UP - Rational Systems DOS/4GW - ???
  6640.     AH = FFh
  6641.     DH = 0Dh
  6642.     ???
  6643. Return: ???
  6644. --------E-21FF--DH0E-------------------------
  6645. INT 21 UP - Rational Systems DOS/4GW - ???
  6646.     AH = FFh
  6647.     DH = 0Eh
  6648. Return: DX:AX -> XBRK structure (see #0382 at INT 15/AX=BF02h)
  6649.     BX = ???
  6650.     CX = ???
  6651. SeeAlso: INT 15/AX=BF02h
  6652. --------E-21FF--DH0F-------------------------
  6653. INT 21 UP - Rational Systems DOS/4GW - ???
  6654.     AH = FFh
  6655.     DH = 0Fh
  6656.     ???
  6657. Return: ???
  6658. --------E-21FF--DH10-------------------------
  6659. INT 21 UP - Rational Systems DOS/4GW - ???
  6660.     AH = FFh
  6661.     DH = 10h
  6662.     AL = ???
  6663.     BX = ???
  6664.     CX = ???
  6665.     DI = ???
  6666.     SI = ???
  6667. Return: ???
  6668. Note:    among other things, frees two memory blocks via INT 21/AH=49h
  6669. --------E-21FF--DH11-------------------------
  6670. INT 21 UP - Rational Systems DOS/4GW - NOP
  6671.     AH = FFh
  6672.     DH = 11h
  6673. --------E-21FF--DH12-------------------------
  6674. INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
  6675.     AH = FFh
  6676.     DH = 12h
  6677.     DS:SI -> new ???
  6678.     ES:DI -> new ???
  6679. Return: DS:SI -> previous ???
  6680.     ES:DI -> previous ???
  6681. --------E-21FF--DH13-------------------------
  6682. INT 21 UP - Rational Systems DOS/4GW - ???
  6683.     AH = FFh
  6684.     DH = 13h
  6685.     AL = ???
  6686.     ES = ???
  6687. Return: ???
  6688. --------E-21FF--DH14-------------------------
  6689. INT 21 UP - Rational Systems DOS/4GW - ???
  6690.     AH = FFh
  6691.     DH = 14h
  6692.     BX = ???
  6693.     CX = ???
  6694. Return: CF clear
  6695.         AX = ???
  6696.         DX = ???
  6697. --------E-21FF--DH15-------------------------
  6698. INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
  6699.     AH = FFh
  6700.     DH = 15h
  6701. Return: CF clear
  6702.         DX:AX -> FAR function for ???
  6703.         CX:BX -> FAR function for ???
  6704.         SI:DI -> FAR function for ???
  6705. --------E-21FF--DH16-------------------------
  6706. INT 21 UP - Rational Systems DOS/4GW - GET ???
  6707.     AH = FFh
  6708.     DH = 16h
  6709. Return: AX = ???
  6710. --------E-21FF--DH17-------------------------
  6711. INT 21 UP - Rational Systems DOS/4GW - ???
  6712.     AH = FFh
  6713.     DH = 17h
  6714.     AL = ???
  6715.     DL = ???
  6716. Return: ???
  6717. --------N-21FF00-----------------------------
  6718. INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
  6719.     AX = FF00h
  6720.     CL = what to get
  6721.         00h user information (see #1319)
  6722.         01h drive mapping (see #1320)
  6723.         02h printer server(s)
  6724.         05h local DOS drive number
  6725. Return: ES:BX -> desired information
  6726. Program: TopWare Network Operating System is manufactured by Grand Computer
  6727.       Company
  6728. Note:    this call is only supported on Workstations, not on the server
  6729. SeeAlso: AX=FF04h,INT 2F/AX=FF00h
  6730.  
  6731. Format of TopWare user information:
  6732. Offset    Size    Description    (Table 1319)
  6733.  00h    BYTE    node ID
  6734.  01h 15 BYTEs    user name
  6735.  10h    WORD    user number
  6736.  12h    BYTE    group number
  6737.  
  6738. Format of TopWare drive mapping [array]:
  6739. Offset    Size    Description    (Table 1320)
  6740.  00h    BYTE    bits 6-0: drive number (1=A:, etc.)
  6741.         bit 7: this is a server drive
  6742.  01h  3 BYTEs    mapping drive (for example, "C:\")
  6743.  04h 64 BYTEs    current directory
  6744. --------E-21FF00DX0078-----------------------
  6745. INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
  6746.     AX = FF00h
  6747.     DX = 0078h
  6748. Return: AL <> 00h if installed
  6749.         GS = segment of kernel if nonzero
  6750. SeeAlso: INT 15/AX=BF02h
  6751. --------N-21FF04-----------------------------
  6752. INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
  6753.     AX = FF04h
  6754.     CL = function
  6755.         00h get protections
  6756.         Return: BH = read attribute
  6757.             BL = write attribute
  6758.         01h set protections
  6759.         BH = read attribute
  6760.         BL = write attribute
  6761. Note:    this function is supported only on Workstations, not on the server
  6762. SeeAlso: AX=FF00h"TopWare"
  6763. --------v-21FF0F-----------------------------
  6764. INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
  6765.     AX = FF0Fh
  6766. Return: AX = 0101h if resident
  6767. Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
  6768.       Software Concepts Design
  6769. Note:    the "PSQR/1720" virus calls this function to determine whether
  6770.       FLU_SHOT+ is present
  6771. SeeAlso: AH=FFh"VIRUS",AX=FF10h
  6772. --------v-21FF10-----------------------------
  6773. INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
  6774.     AX = FF10h
  6775. Return: AL = 07h if resident
  6776. SeeAlso: AX=FF0Fh,AX=FFFEh
  6777. --------N-21FF80DHFF-------------------------
  6778. INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
  6779.     AX = FF80h
  6780.     DH = FFh
  6781.     DL = destination address (FFh for broadcast)
  6782.     CX = message length (max 2000)
  6783.     DS:SI -> message to be sent (see #1321)
  6784. Return: nothing
  6785. Program: TopWare Network Operating System is manufactured by Grand Computer
  6786.       Company
  6787. Notes:    this function is supported on both Workstations and the server
  6788.     there is no guarantee that the message will be received correctly, or
  6789.       at all, by the destination
  6790.  
  6791. Format of TopWare message:
  6792. Offset    Size    Description    (Table 1321)
  6793.  00h    BYTE    type code
  6794.         07h TopSend
  6795.         11h user application
  6796.         other reserved for TopWare
  6797.  01h    var    data
  6798. Note:    sending messages with a type code other than 11h will cause
  6799.       unpredictable results
  6800. --------N-21FF82-----------------------------
  6801. INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
  6802.     AX = FF82h
  6803. Return: AL = station address
  6804. Note:    this function is supported on both Workstations and the server
  6805. SeeAlso: AX=FF91h
  6806. --------N-21FF8C-----------------------------
  6807. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
  6808.     AX = FF8Ch
  6809.     BL = subfunction
  6810.         00h get TopShow status
  6811.         FFh get Emulated status
  6812. Return: AL = status
  6813.         00h not installed
  6814.         01h already installed
  6815. --------N-21FF8D-----------------------------
  6816. INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
  6817.     AX = FF8Dh
  6818.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  6819.     CL = screen mode of station to be viewed (see #1322)
  6820.     BL = graphic page number for monochrome
  6821. Return: AL = status (00h successful, else failed)
  6822. SeeAlso: AX=FF8Eh,AX=FFCFh
  6823.  
  6824. (Table 1322)
  6825. Values for TopWare screen mode:
  6826.  00h    text mode
  6827.  01h    720x348
  6828.  02h    640x408
  6829.  03h    720x352
  6830.  04h    640x390
  6831.  05h    reserved
  6832. --------N-21FF8E-----------------------------
  6833. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6834.     AX = FF8Eh
  6835. Return: AL = 00h (successful, TopShow removed)
  6836. SeeAlso: AX=FF8Dh
  6837. --------N-21FF91-----------------------------
  6838. INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
  6839.     AX = FF91h
  6840. Return: AL = station number of file server
  6841. SeeAlso: AX=FF82h
  6842. --------N-21FF97-----------------------------
  6843. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
  6844.     AX = FF97h
  6845. Return: AL = maximum station number
  6846. SeeAlso: AX=FF98h
  6847. --------N-21FF98-----------------------------
  6848. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
  6849.     AX = FF98h
  6850. Return: AL = maximum file
  6851. SeeAlso: AX=FF97h
  6852. --------N-21FF9A-----------------------------
  6853. INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
  6854.     AX = FF9Ah
  6855.     ES:BX -> buffer for user-defined packet (see #1323)
  6856. Return: nothing
  6857.  
  6858. Format of TopWare user-defined packet:
  6859. Offset    Size    Description    (Table 1323)
  6860.  00h    BYTE    FFh
  6861.  01h    WORD    (call) length of data field plus 3
  6862.         (ret) length of received message (0000h if none received)
  6863.  03h    BYTE    destination ID (FFh for broadcast message)
  6864.  04h    BYTE    sending station ID
  6865.  05h    BYTE    type code (11h; all other codes reserved for TopWare)
  6866.  06h  N BYTEs    received message
  6867. --------N-21FF9F-----------------------------
  6868. INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
  6869.     AX = FF9Fh
  6870.     CL = new state (00h disable [disregard TopTerm packets], 01h enable)
  6871. Return: AL = status (00h successful, FFh failed)
  6872. Note:    this function is only supported by Workstations, not the server
  6873. --------N-21FFB0-----------------------------
  6874. INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
  6875.     AX = FFB0h
  6876. Return: AL = priority status (see #1324)
  6877. SeeAlso: AX=FFB1h
  6878.  
  6879. Bitfields for TopWare printer priority status:
  6880. Bit(s)    Description    (Table 1324)
  6881.  2    LPT3 has high priority
  6882.  1    LPT2 has high priority
  6883.  0    LPT1 has high priority
  6884. --------N-21FFB1-----------------------------
  6885. INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
  6886.     AX = FFB1h
  6887.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6888.     CH = new priority (00h normal, 01h high)
  6889. Return: nothing
  6890. SeeAlso: AX=FFB0h
  6891. --------N-21FFB3-----------------------------
  6892. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
  6893.     AX = FFB3h
  6894. Return: AL = starting formfeed status (see #1325)
  6895. SeeAlso: AX=FFB4h,AX=FFC0h
  6896.  
  6897. Bitfields for TopWare printer start-of-job formfeed status:
  6898. Bit(s)    Description    (Table 1325)
  6899.  2    LPT3 has formfeed enabled
  6900.  1    LPT2 has formfeed enabled
  6901.  0    LPT1 has formfeed enabled
  6902. --------N-21FFB4-----------------------------
  6903. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
  6904.     AX = FFB4h
  6905.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6906.     CH = new formfeed status (00h off, 01h on)
  6907. Return: nothing
  6908. SeeAlso: AX=FFB3h,AX=FFC1h
  6909. --------N-21FFBB-----------------------------
  6910. INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
  6911.     AX = FFBBh
  6912.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6913. Return: AL = current mapping printer server station number
  6914.         00h if local
  6915. SeeAlso: AX=FFBCh
  6916. --------N-21FFBC-----------------------------
  6917. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  6918.     AX = FFBCh
  6919.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6920.     CL = printer server station address or 00h for local printer
  6921. Return: AL = status (00h successful, else failed)
  6922. SeeAlso: AX=FFBBh
  6923. --------N-21FFBD-----------------------------
  6924. INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
  6925.     AX = FFBDh
  6926.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6927. Return: AX = current AutoPrint timeout in clock ticks
  6928. SeeAlso: AX=FFBEh
  6929. --------N-21FFBE-----------------------------
  6930. INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
  6931.     AX = FFBEh
  6932.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6933.     BX = timeout in clock ticks
  6934. SeeAlso: AX=FFBDh
  6935. --------N-21FFBF-----------------------------
  6936. INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
  6937.     AX = FFBFh
  6938.     DX:BX -> buffer for logon information (see #1326)
  6939. Return: AL = status (00h successful, else failed)
  6940.     AH = number of logged-in stations
  6941.  
  6942. Format of TopWare logon information:
  6943. Offset    Size    Description    (Table 1326)
  6944.  00h    BYTE    station address
  6945.  01h 15 BYTEs    username
  6946. --------N-21FFC0-----------------------------
  6947. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
  6948.     AX = FFC0h
  6949. Return: AL = ending formfeed status (see #1327)
  6950. SeeAlso: AX=FFB3h,AX=FFC1h
  6951.  
  6952. Bitfields for TopWare printer end-of-job formfeed status:
  6953. Bit(s)    Description    (Table 1327)
  6954.  2    LPT3 has formfeed enabled
  6955.  1    LPT2 has formfeed enabled
  6956.  0    LPT1 has formfeed enabled
  6957. --------N-21FFC1-----------------------------
  6958. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
  6959.     AX = FFC1h
  6960.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6961.     CH = new formfeed status (00h off, 01h on)
  6962. Return: nothing
  6963. SeeAlso: AX=FFB4h,AX=FFC0h
  6964. --------N-21FFC2-----------------------------
  6965. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
  6966.     AX = FFC2h
  6967.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6968. Return: AL = default number of copies printed
  6969. SeeAlso: AX=FFC7h
  6970. --------N-21FFC3-----------------------------
  6971. INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
  6972.     AX = FFC3h
  6973. Return: AL = sharing status of printers (see #1328)
  6974.         FFh if not a printer server
  6975.  
  6976. Bitfields for TopWare printer sharing status:
  6977. Bit(s)    Description    (Table 1328)
  6978.  2    LPT3 is shared
  6979.  1    LPT2 is shared
  6980.  0    LPT1 is shared
  6981. --------N-21FFC4-----------------------------
  6982. INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
  6983.     AX = FFC4h
  6984.     BL = subfunction
  6985.         00h get
  6986.         Return: AL = mapped printer port on print server
  6987.         01h set
  6988.         CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
  6989.     CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)
  6990. --------N-21FFC6-----------------------------
  6991. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
  6992.     AX = FFC6h
  6993.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  6994.     CL = header state (00h off, 01h on)
  6995. SeeAlso: AX=FFC8h
  6996. --------N-21FFC7-----------------------------
  6997. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
  6998.     AX = FFC7h
  6999.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7000.     CL = new default number of copies to print
  7001. SeeAlso: AX=FFC2h
  7002. --------N-21FFC8-----------------------------
  7003. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
  7004.     AX = FFC8h
  7005. Return: AL = header status for printers (see #1329)
  7006. SeeAlso: AX=FFC6h
  7007.  
  7008. Bitfields for TopWare print header status:
  7009. Bit(s)    Description    (Table 1329)
  7010.  2    LPT3 has headers enabled
  7011.  1    LPT2 has headers enabled
  7012.  0    LPT1 has headers enabled
  7013. --------N-21FFC9-----------------------------
  7014. INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
  7015.     AX = FFC9h
  7016.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7017.     CL = new sharing state (00h off, 01h on)
  7018. Return: AL = status (00h successful, FFh not printer server)
  7019. --------N-21FFCA-----------------------------
  7020. INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
  7021.     AX = FFCAh
  7022.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7023.     CL = original printer server station address
  7024.     BL = target printer server station address
  7025.     DS:DX -> filename (12 bytes)
  7026. Return: AL = status (00h successful, else failed)
  7027. SeeAlso: AX=FFCBh
  7028. --------N-21FFCB-----------------------------
  7029. INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
  7030.     AX = FFCBh
  7031.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  7032.     CL = printer server station address
  7033.     DS:DX -> filename (12 bytes)
  7034. Return: AL = status (00h successful, else failed)
  7035. SeeAlso: AX=FFCAh
  7036. --------N-21FFCC-----------------------------
  7037. INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
  7038.     AX = FFCCh
  7039.     CL = printer server station address
  7040.     BH = start item number of spooling file for print server
  7041.     BL = number of the item to be retrieved
  7042.     DS:DX -> buffer for queued file information (see #1330)
  7043. Return: AL = status
  7044.         00h successful
  7045.         AH = number of spool files
  7046.         DS:DX buffer filled
  7047.         nonzero failed
  7048.  
  7049. Format of TopWare queued file information buffer [16-item array, one element]:
  7050. Offset    Size    Description    (Table 1330)
  7051.  00h 12 BYTEs    filename
  7052.  0Ch    DWORD    size
  7053.  10h    WORD    date
  7054.  12h    WORD    time
  7055.  14h 15 BYTEs    username
  7056.  23h    BYTE    count
  7057.  24h    BYTE    flag: header
  7058.  25h    BYTE    print number
  7059. --------N-21FFCD-----------------------------
  7060. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
  7061.     AX = FFCDh
  7062.     DS:DX -> buffer for server status (see #1331)
  7063. Return: AL = status
  7064.         00h successful
  7065.         AH = number of print servers
  7066.         nonzero failed
  7067.  
  7068. Format of TopWare server status:
  7069. Offset    Size    Description    (Table 1331)
  7070.  00h    BYTE    station address
  7071.  01h 15 BYTEs    username
  7072.  10h    BYTE    flag: 01h printer is shared, 00h sharing disabled
  7073.  11h    BYTE    number of files pending in queue
  7074. --------N-21FFCF-----------------------------
  7075. INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
  7076.     AX = FFCFh
  7077.     DH = page number (0-2, 2 is text mode)
  7078.     DL = type
  7079.         00h look at specific screen
  7080.         01h AutoLook on
  7081.         FFh AutoLook off
  7082.     BH = station number wishing to look
  7083.     BL = station number to be looked at
  7084.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  7085.     CL = screen mode (see #1322)
  7086. Return: AL = status (00h successful, nonzero failed)
  7087. SeeAlso: AX=FF8Dh
  7088. --------N-21FFD6-----------------------------
  7089. INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
  7090.     AX = FFD6h
  7091.     ES:BX -> 12-byte buffer for keycard serial number
  7092. Return: CX = maximum number of users
  7093.     ES:BX buffer filled
  7094. --------N-21FFD7-----------------------------
  7095. INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
  7096.     AX = FFD7h
  7097. Return: AL = status (00h disabled, 01h enabled)
  7098. --------N-21FFE3DL00-------------------------
  7099. INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
  7100.     AX = FFE3h
  7101.     DL = 00h
  7102.     BX = packet type for Ethernet header (IP = 0800h, ARP = 0806h, etc.)
  7103.     ES:DI -> receive routine (see #1333)
  7104. Return: CF clear if successful
  7105.         AX = handle number
  7106.     CF set on error
  7107.         DH = error code (03h,05h,09h,0Ah,11h) (see #1332)
  7108. SeeAlso: AX=FFE3h/DL=01h
  7109.  
  7110. (Table 1332)
  7111. Values for TopWare error code:
  7112.  01h    invalid handle
  7113.  03h    no interfaces of the specified type found
  7114.  05h    bad packet type
  7115.  09h    insufficient space
  7116.  0Ah    type already being accessed
  7117.  0Ch    unable to send packet (usually hardware error)
  7118.  11h    invalid function
  7119.  
  7120. (Table 1333)
  7121. Values TopWare receive routine is called with:
  7122.     AX = function
  7123.         0000h request packet buffer
  7124.         CX = packet size
  7125.         Return: ES:DI -> buffer or 0000h:0000h to discard packet
  7126.         0001h packet copied
  7127.         CX = packet size
  7128.         DS:SI -> copied packet (same as returned ES:DI above)
  7129. --------N-21FFE3DL01-------------------------
  7130. INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
  7131.     AX = FFE3h
  7132.     DL = 01h
  7133.     BX = handle returned by AX=FFE3h/DL=00h
  7134. Return: CF clear if successful
  7135.     CF set on error
  7136.         DH = error code (01h,11h) (see #1332)
  7137. Note:    the specified access handle will no longer be valid after this call
  7138. SeeAlso: AX=FFE3h/DL=00h
  7139. --------N-21FFE3DL02-------------------------
  7140. INT 21 - TopWare Network OS v5.10+ - SEND PACKET
  7141.     AX = FFE3h
  7142.     DL = 02h
  7143.     CX = length of data buffer
  7144.     DS:SI -> buffer containing data
  7145. Return: CF clear if successful
  7146.     CF set on error
  7147.         DH = error code (0Ch,11h) (see #1332)
  7148. --------N-21FFE3DL03-------------------------
  7149. INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
  7150.     AX = FFE3h
  7151.     DL = 03h
  7152.     ES:DI -> 6-byte buffer for address
  7153. SeeAlso: AX=FFE3h/DL=00h
  7154. --------v-21FFFE-----------------------------
  7155. INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
  7156.     AX = FFFEh
  7157. Return: AX = 0815h if resident
  7158. SeeAlso: AX=FF10h,AX=FFFFh
  7159. --------v-21FFFF-----------------------------
  7160. INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
  7161.     AX = FFFFh
  7162. Return: AX = 0000h if "Ontario" resident
  7163.     AX = 1992h if "Year 1992"/"B1M92" resident
  7164. SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"
  7165. --------v-21FFFFCX0000-----------------------
  7166. INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
  7167.     AX = FFFFh
  7168.     CX = 0000h
  7169. Return: CX = 0006h if resident
  7170. SeeAlso: AX=FFFFh,INT 6B"VIRUS"
  7171. --------D-22---------------------------------
  7172. INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
  7173. Desc:    this vector specifies the address of the routine which is to be given
  7174.       control after a program is terminated; it should never be called
  7175.       directly, since it does not point at an interrupt handler
  7176. Notes:    this vector is restored from the DWORD at offset 0Ah in the PSP during
  7177.       termination, and then a FAR JMP is performed to the address in INT 22
  7178.     normally points at the instruction immediately following INT 21/AH=4Bh
  7179.       call which loaded the current program
  7180. SeeAlso: INT 20,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch
  7181. --------G-22---------------------------------
  7182. INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
  7183.     AL = new firmware debugging port
  7184. Return: ???
  7185. SeeAlso: INT 21"COMTROL",INT 23"COMTROL"
  7186. --------D-23---------------------------------
  7187. INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
  7188. ---DOS 1.x---
  7189. Return: AH = 00h abort program
  7190.     if all registers preserved, restart DOS call
  7191. ---DOS 2+---
  7192.     CF clear
  7193. Return: all registers preserved
  7194.     return via RETF with CF set or (MS-DOS 1,DR-DOS) RETF 2 with CF set
  7195.         DOS will abort program with errorlevel 0
  7196.     else (RETF/RETF 2 with CF clear or IRET with CF ignored)
  7197.         interrupted DOS call is restarted
  7198. Notes:    this interrupt is invoked whenever DOS detects a ^C or ^Break; it
  7199.       should never be called directly
  7200.     MS-DOS 1.25 also invokes INT 23 on a divide overflow (INT 00)
  7201.     MS-DOS remembers the stack pointer before calling INT 23, and if it is
  7202.       not the same on return, pops and discards the top word; this is what
  7203.       permits a return with RETF as well as IRET or RETF 2
  7204.     MS-DOS 2.1+ ignores the returned CF if SP is the same on return as it
  7205.       was when DOS called INT 23, so RETF 2 will not terminate the program
  7206.     Novell DOS 7 always pops a word if CF is set on return, so one should
  7207.       not return with RETF 2 and CF set or IRET with the stored flags' CF
  7208.       set
  7209.     any DOS call may safely be made within the INT 23 handler, although
  7210.       the handler must check for a recursive invocation if it does
  7211.       call DOS
  7212. SeeAlso: INT 1B
  7213. --------G-23---------------------------------
  7214. INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
  7215.     AL = query type
  7216.         00h get old config map
  7217.         Return: AX = old config map
  7218.         01h get dual-ported RAM map
  7219.         Return: BX:AX = dual-ported RAM map
  7220.         02h get SCC port map
  7221.         Return: BX:AX = SCC port map
  7222. SeeAlso: INT 22"COMTROL",INT 26"COMTROL"
  7223. --------D-24---------------------------------
  7224. INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
  7225. Notes:    invoked when a critical (usually hardware) error is encountered by DOS
  7226.       (see #1334); should never be called directly
  7227.     when DOS terminates a program, it copies the previous value of the
  7228.       INT 24 vector out of the PSP (see #0603) and into the interrupt
  7229.       vector table
  7230. SeeAlso: INT 21/AH=95h
  7231.  
  7232. (Table 1334)
  7233. Values critical error handler is called with:
  7234.     AH = type and processing flags (see #1335)
  7235.     AL = drive number if AH bit 7 clear
  7236.     BP:SI -> device driver header (BP:[SI+4] bit 15 set if char device)
  7237.     DI low byte contains error code if AH bit 7 set (see #1336)
  7238.     STACK:    DWORD    return address for INT 24 call
  7239.         WORD    flags pushed by INT 24
  7240.         WORD    original AX on entry to INT 21
  7241.         WORD    BX
  7242.         WORD    CX
  7243.         WORD    DX
  7244.         WORD    SI
  7245.         WORD    DI
  7246.         WORD    BP
  7247.         WORD    DS
  7248.         WORD    ES
  7249.         DWORD    return address for INT 21 call
  7250.         WORD    flags pushed by INT 21
  7251. Return:    AL = action code (see #1337)
  7252.     SS,SP,DS,ES,BX,CX,DX preserved
  7253. Notes:    the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
  7254.     if the handler returns to the application by popping the stack, DOS
  7255.       will be in an unstable state until the first call with AH > 0Ch
  7256.     for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
  7257.       critical errors
  7258.     if IGNORE specified but not allowed, it is turned into FAIL
  7259.     if RETRY specified but not allowed, it is turned into FAIL
  7260.     if FAIL specified but not allowed, it is turned into ABORT
  7261.     (DOS 3+) if a critical error occurs inside the critical error handler,
  7262.       the DOS call is automatically failed (AL set to 03h and the INT 24
  7263.       call skipped)
  7264.  
  7265. Bitfields for critical error type and processing flags:
  7266. Bit(s)    Description    (Table 1335)
  7267.  7    clear = disk I/O error
  7268.     set   = -- if block device, bad FAT image in memory
  7269.         -- if char device, error code in DI
  7270.  6    unused
  7271.  5    Ignore allowed (DOS 3+)
  7272.  4    Retry allowed (DOS 3+)
  7273.  3    Fail allowed (DOS 3+)
  7274.  2-1    disk area of error
  7275.     00 = DOS area    01 = FAT
  7276.     10 = root dir    11 = data area
  7277.  0    set if write, clear if read
  7278.  
  7279. (Table 1336)
  7280. Values for critical error code:
  7281.  00h    write-protection violation attempted
  7282.  01h    unknown unit for driver
  7283.  02h    drive not ready
  7284.  03h    unknown command given to driver
  7285.  04h    data error (bad CRC)
  7286.  05h    bad device driver request structure length
  7287.  06h    seek error
  7288.  07h    unknown media type
  7289.  08h    sector not found
  7290.  09h    printer out of paper
  7291.  0Ah    write fault
  7292.  0Bh    read fault
  7293.  0Ch    general failure
  7294.  0Dh    (DOS 3+) sharing violation
  7295.  0Eh    (DOS 3+) lock violation
  7296.  0Fh    invalid disk change
  7297.  10h    (DOS 3+) FCB unavailable
  7298.  11h    (DOS 3+) sharing buffer overflow
  7299.  12h    (DOS 4+) code page mismatch
  7300.  13h    (DOS 4+) out of input
  7301.  14h    (DOS 4+) insufficient disk space
  7302.  
  7303. (Table 1337)
  7304. Values for critical error handler action code:
  7305.  00h    ignore error and continue processing request
  7306.  01h    retry operation
  7307.  02h    terminate program as though INT 21/AH=4Ch called (INT 20h for DOS 1.x)
  7308.  03h    fail system call in progress
  7309. --------D-25---------------------------------
  7310. INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
  7311.     AL = drive number (00h = A:, 01h = B:, etc)
  7312.     CX = number of sectors to read (not FFFFh)
  7313.     DX = starting logical sector number (0000h - highest sector on drive)
  7314.     DS:BX -> buffer for data
  7315. Return: CF clear if successful
  7316.     CF set on error
  7317.         AH = status (see #1338)
  7318.         AL = error code (same as passed to INT 24 in DI)
  7319.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7320.     may destroy all other registers except segment registers
  7321. Notes:    original flags are left on stack, and must be popped by caller
  7322.     this call bypasses the DOS filesystem
  7323.     examination of CPWIN386.CPL indicates that if this call fails with
  7324.       error 0408h on an old-style (<32M) call, one should retry the
  7325.       call with the high bit of the drive number in AL set
  7326.     Novell DOS 7 decides whether the old-style or new-style (>32M) version
  7327.       of INT 25 must be used solely on the basis of the partition's size,
  7328.       thus forcing use of the new-style call even for data in the first
  7329.       32M of the partition
  7330. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  7331.       invalid drive number
  7332.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  7333.       wrong number of bytes on the stack; use the huge-partition version
  7334.       (INT 25/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  7335. SeeAlso: INT 13/AH=02h,INT 25/CX=FFFFh,INT 26
  7336.  
  7337. (Table 1338)
  7338. Values for disk I/O status:
  7339.  80h    device failed to respond (timeout)
  7340.  40h    seek operation failed
  7341.  20h    controller failed
  7342.  10h    data error (bad CRC)
  7343.  08h    DMA failure
  7344.  04h    requested sector not found
  7345.  03h    write-protected disk (INT 26 only)
  7346.  02h    bad address mark
  7347.  01h    bad command
  7348. --------D-25----CXFFFF-----------------------
  7349. INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (>32M hard-disk partition)
  7350.     CX = FFFFh
  7351.     AL = drive number (0=A, 1=B, etc)
  7352.     DS:BX -> disk read packet (see #1339)
  7353. Return: CF clear if successful
  7354.     CF set on error
  7355.         AH = status (see #1338)
  7356.         AL = error code (same as passed to INT 24 in DI)
  7357.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7358.     may destroy all other registers except segment registers
  7359. Notes:    partition is potentially >32M (and requires this form of the call) if
  7360.       bit 1 of the device attribute word in the device driver is set
  7361.     original flags are left on stack, and must be removed by caller
  7362.     this call bypasses the DOS filesystem
  7363. SeeAlso: INT 13/AH=02h,INT 25,INT 26/CX=FFFFh
  7364.  
  7365. Format of disk read packet:
  7366. Offset    Size    Description    (Table 1339)
  7367.  00h    DWORD    sector number
  7368.  04h    WORD    number of sectors to read
  7369.  06h    DWORD    transfer address
  7370. --------k-25CDCD-----------------------------
  7371. INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
  7372.     AX = CDCDh
  7373.     DS:BX -> buffer for address (see #1340)
  7374.     CX = 0001h
  7375.     DX = 0000h
  7376. Return: AX = CDCDh if Stacker installed
  7377.         DS:BX buffer filled
  7378. Note:    not supported by Stacker Anywhere; to obtain the Stacker device
  7379.       driver address and to detect drives controlled by all versions
  7380.       of Stacker, INT 21/AX=4404h"Stacker" or lookup via the CDS and DPB
  7381.       should be preferred (see INT 21/AH=52h)
  7382.     Stacker Anywhere does not link its built-in device driver into
  7383.       the standard device driver chain, but it can be found via CDS/DPB
  7384. SeeAlso: INT 21/AX=4404h"Stacker"
  7385.  
  7386. Format of Stacker v2+ driver address buffer:
  7387. Offset    Size    Description    (Table 1340)
  7388.  00h    WORD    signature CDCDh
  7389.  02h    WORD    ??? 0001h
  7390.  04h    DWORD    pointer to Stacker signature at device driver offset 1Ah
  7391.           (see #1341)
  7392.  
  7393. Format of Stacker v2+ device driver:
  7394. Offset    Size    Description    (Table 1341)
  7395.  00h    DWORD    pointer to next driver, offset=FFFFh if last driver
  7396.         FFFFh:FFFFh for Stacker Anywhere
  7397.  04h    WORD    device attributes (see #0859,#0860)
  7398.  06h    WORD    device strategy entry point
  7399.  08h    WORD    device interrupt entry point
  7400.  0Ah    BYTE    number of subunits (drives) supported by driver
  7401.         0 for Stacker Anywhere
  7402.  0Bh  7 BYTEs    signature "STAC-CD" for Stacker and Stacker Anywhere
  7403.  12h  7 BYTEs    ???
  7404.  19h    BYTE    always = 01h ?? (Stacker Anywhere points here)
  7405.  1Ah    WORD    signature A55Ah (all other Stacker versions point here)
  7406.  1Ch    WORD    Stacker version * 64h
  7407.         0C8h = 200, 012Ch = 300, 0190h = 400 (also Stacker Anywhere)
  7408.  1Eh    WORD    offset of volume-specific information offset table
  7409.         (list of WORDs, one per drive, containing offsets to various
  7410.           information)
  7411.  20h 56 BYTEs    n/a
  7412.  58h    BYTE    volume number, set after INT 21/AX=4404h, INT 21/AX=4408h
  7413.         (use to index into volume-specific info offset table,
  7414.         should be set to FFh before and tested for change after)
  7415.  59h 19 BYTEs    n/a
  7416.  6Ch  4 BYTEs    ASCII string "SWAP"
  7417.  70h 26 BYTEs    drive mapping table (one byte for each drive A: through Z:)
  7418.         (only used for drives swapped by SSWAP.COM; other drives
  7419.         compressed by Stacker can be found with the standard device
  7420.         driver header signature (see INT 21/AH=52h)
  7421. ---Stacker 4, Stacker Anywhere---
  7422.  8Ah 40    BYTEs    ???
  7423.  B2h  4 BYTEs    ASCII string "SWP2"
  7424.  B6h 26 BYTEs    drive table ???
  7425.  D0h 150 BYTEs    ???
  7426. 166h 60 BYTEs    LZSINFO structure (see #1523 at INT 2F/AX=4A12h)
  7427. SeeAlso: #1342,#0858 at INT 21/AH=52h
  7428.  
  7429. Format of Stacker boot record:
  7430. Offset    Size    Description    (Table 1342)
  7431. 1F0h  8 BYTEs    Stacker signature (first byte is CDh)
  7432. 1F8h    DWORD    pointer to start of Stacker device driver
  7433. 1FCh    WORD    Stacker volume number
  7434. 1FEh    WORD    ???
  7435. SeeAlso: #1341
  7436. --------c-25--FFSI4358-----------------------
  7437. INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
  7438.     AL = FFh
  7439.     SI = 4358h
  7440. Return: SI = 6378h if installed
  7441.         CX = segment of device driver PC-CACHE.SYS
  7442.         DX = version (major in DH, minor in DL)
  7443. Program: PC-CACHE.SYS is a small device driver used by PC-Cache v5.x to obtain
  7444.       access to certain disk drivers for devices such as Bernoulli drives
  7445. SeeAlso: INT 13/AH=A0h
  7446. --------D-26---------------------------------
  7447. INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
  7448.     AL = drive number (00h = A:, 01h = B:, etc)
  7449.     CX = number of sectors to write (not FFFFh)
  7450.     DX = starting logical sector number (0000h - highest sector on drive)
  7451.     DS:BX -> data to write
  7452. Return: CF clear if successful
  7453.     CF set on error
  7454.         AH = status (see #1338)
  7455.         AL = error code (same as passed to INT 24 in DI)
  7456.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7457.     may destroy all other registers except segment registers
  7458. Notes:    original flags are left on stack, and must be popped by caller
  7459.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7460.       disk buffers referencing sectors which are written with this call
  7461.     examination of CPWIN386.CPL indicates that if this call fails with
  7462.       error 0408h on an old-style (<32M) call, one should retry the
  7463.       call with the high bit of the drive number in AL set
  7464.     Novell DOS 7 decides whether the old-style or new-style (>32M) version
  7465.       of INT 26 must be used solely on the basis of the partition's size,
  7466.       thus forcing use of the new-style call even for data in the first
  7467.       32M of the partition
  7468. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  7469.       invalid drive number
  7470.     DR-DOS 3.41 will return with a jump instead of RETF, leaving the
  7471.       wrong number of bytes on the stack; use the huge-partition version
  7472.       (INT 26/CX=FFFFh) for all partition sizes under DR-DOS 3.41
  7473. SeeAlso: INT 13/AH=03h,INT 25,INT 26/CX=FFFFh
  7474. --------D-26----CXFFFF-----------------------
  7475. INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (>32M hard-disk partition)
  7476.     CX = FFFFh
  7477.     AL = drive number (0=A, 1=B, etc)
  7478.     DS:BX -> disk write packet (see #1343)
  7479. Return: CF clear if successful
  7480.     CF set on error
  7481.         AH = status (see #1338)
  7482.         AL = error code (same as passed to INT 24 in DI)
  7483.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  7484.     may destroy all other registers except segment registers
  7485. Notes:    partition is potentially >32M (and requires this form of the call) if
  7486.       bit 1 of the device attribute word in the device driver is set
  7487.     original flags are left on stack, and must be removed by caller
  7488.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  7489.       disk buffers referencing sectors which are written with this call
  7490. SeeAlso: INT 13/AH=03h,INT 25/CX=FFFFh,INT 26
  7491.  
  7492. Format of disk write packet:
  7493. Offset    Size    Description    (Table 1343)
  7494.  00h    DWORD    sector number
  7495.  04h    WORD    number of sectors to read
  7496.  06h    DWORD    transfer address
  7497. --------G-26---------------------------------
  7498. INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
  7499.     ???
  7500. Return: ???
  7501. SeeAlso: INT 23"COMTROL",INT 27"COMTROL"
  7502. --------D-27---------------------------------
  7503. INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
  7504.     DX = number of bytes to keep resident (max FFF0h)
  7505.     CS = segment of PSP
  7506. Return: never
  7507. Notes:    this is an obsolete call
  7508.     INT 22, INT 23, and INT 24 are restored from the PSP
  7509.     does not close any open files
  7510.     the minimum number of bytes which will remain resident is 110h for
  7511.       DOS 2.x and 60h for DOS 3+; there is no minimum for DOS 1.x, which
  7512.       implements this service in COMMAND.COM rather than the DOS kernel
  7513. SeeAlso: INT 21/AH=31h
  7514. --------G-27---------------------------------
  7515. INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
  7516.     ???
  7517. Return: ???
  7518. Desc:    invoke a copy of the remote Turbo Debugger kernel on the Hostess i
  7519.       controller
  7520. SeeAlso: INT 20"COMTROL",INT 26"COMTROL"
  7521. --------D-28---------------------------------
  7522. INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
  7523.     SS:SP = top of MS-DOS stack for I/O functions
  7524. Return: all registers preserved
  7525. Desc:    This interrupt is invoked each time one of the DOS character input
  7526.       functions loops while waiting for input.  Since a DOS call is in
  7527.       progress even though DOS is actually idle during such input waits,
  7528.       hooking this function is necessary to allow a TSR to perform DOS
  7529.       calls while the foreground program is waiting for user input.     The
  7530.       INT 28h handler may invoke any INT 21h function except functions
  7531.       00h through 0Ch.
  7532. Notes:    under DOS 2.x, the critical error flag (the byte immediately after the
  7533.       InDOS flag) must be set in order to call DOS functions 50h/51h from
  7534.       the INT 28h handler without destroying the DOS stacks.
  7535.     calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
  7536.       handle which refers to CON
  7537.     at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
  7538.       set to 01h; if larger, DOS is truly busy and should not be reentered
  7539.     the default handler is an IRET instruction
  7540.     supported in OS/2 compatibility box
  7541.     the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
  7542.       this interrupt as superseded
  7543. SeeAlso: INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h
  7544. --------D-29---------------------------------
  7545. INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
  7546.     AL = character to display
  7547. Return: nothing
  7548. Notes:    automatically called when writing to a device with bit 4 of its device
  7549.       driver header set (see also INT 21/AH=52h)
  7550.     COMMAND.COM v3.2 and v3.3 compare the INT 29 vector against the INT 20
  7551.       vector and assume that ANSI.SYS is installed if the segment is larger
  7552.     the default handler under DOS 2.x and 3.x simply calls INT 10/AH=0Eh
  7553.     the default handler under DESQview 2.2 understands the <Esc>[2J
  7554.       screen-clearing sequence, calls INT 10/AH=0Eh for all others
  7555. SeeAlso: INT 21/AH=52h,INT 2F/AX=0802h,INT 79
  7556. --------N-2A00-------------------------------
  7557. INT 2A - NETWORK - INSTALLATION CHECK
  7558.     AH = 00h
  7559. Return: AH <> 00h if installed
  7560.     CF set if NetWare v2.15 NetBIOS emulator installed
  7561. Note:    supported by PC LAN Program, LAN Manager, LANtastic, NetWare, 10NET,
  7562.       etc.
  7563. SeeAlso: INT 5C
  7564. --------N-2A0000-----------------------------
  7565. INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
  7566.     AX = 0000h
  7567. Return: AH = DDh
  7568. SeeAlso: INT 5B
  7569. --------N-2A01-------------------------------
  7570. INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
  7571.     AH = 01h
  7572.     ES:BX -> NCB (see #1894 at INT 5C)
  7573. Return: AL = NetBIOS error code
  7574.     AH = status
  7575.         00h no error
  7576.         01h error occurred
  7577. SeeAlso: AH=04h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7578. --------N-2A02-------------------------------
  7579. INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
  7580.     AH = 02h
  7581.     ???
  7582. Return: ???
  7583. --------N-2A0300-----------------------------
  7584. INT 2A - NETWORK - CHECK DIRECT I/O
  7585.     AX = 0300h
  7586.     DS:SI -> ASCIZ device name (may be full path or only drive specifier--
  7587.           must include the colon)
  7588. Return: CF clear if direct physical addressing (INT 13,INT 25) permissible
  7589.     CF set if access via files only
  7590. Notes:    do not use direct disk accesses if this function returns CF set or the
  7591.       device is redirected (INT 21/AX=5F02h)
  7592.     use AH=00h to determine whether the network is installed; if not,
  7593.       direct physical access is allowed
  7594.     may take some time to execute, so programs which need to check
  7595.       frequently should save the result of the first call
  7596.     this function is called by the DOS kernel on INT 25 and INT 26
  7597.     supported by PC LAN Program, LAN Manage, LANtastic, NetWare, 10NET,
  7598.       etc.
  7599. SeeAlso: INT 13,INT 25,INT 26,INT 21/AX=5F02h
  7600. --------N-2A04-------------------------------
  7601. INT 2A - NETWORK - EXECUTE NetBIOS REQUEST
  7602.     AH = 04h
  7603.     AL = error retry
  7604.         00h automatically retry request on errors 09h, 12h, and 21h
  7605.           (see #1893 at INT 5C"NetBIOS")
  7606.         01h no retry
  7607.         02h ???
  7608.     ES:BX -> Network Control Block (see #1894 at INT 5C"NetBIOS")
  7609. Return: AX = 0000h if successful
  7610.     AH = 01h on error
  7611.         AL = error code
  7612. Notes:    invokes either INT 5B or INT 5C as appropriate
  7613.     supported by PC LAN Program, LANtastic, LAN Manager, NetWare, 10NET,
  7614.       etc.
  7615.     NetWare 2.15 NetBIOS emulator returns CF clear if successful, CF set
  7616.       on error
  7617.     PC LAN Program defines any non-zero return value in AH as an error
  7618.       indicator for subfunction 00h, and any non-zero return value in AX
  7619.       as an error indicator for subfunction 01h
  7620. SeeAlso: AH=00h,AH=01h,AX=0500h,INT 5B,INT 5C"NetBIOS"
  7621. --------N-2A0500-----------------------------
  7622. INT 2A - NETWORK - GET NETWORK RESOURCE AVAILABILITY
  7623.     AX = 0500h
  7624. Return: AX reserved
  7625.     BX = number of network names available
  7626.     CX = number of network control blocks available
  7627.     DX = number of network sessions available
  7628. Notes:    supported by PC LAN Program, LAN Manager, LANtastic, NetWare, 10NET,
  7629.       etc.
  7630.     the application should call this function before using any network
  7631.       resources, and maintain its own count to avoid exceeding the
  7632.       network's resource limits
  7633. SeeAlso: AH=00h,AH=01h,AH=04h,INT 5C"NetBIOS"
  7634. --------N-2A06-------------------------------
  7635. INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
  7636.     AH = 06h
  7637.     AL = function
  7638.         01h set concatenation mode
  7639.         all printer output put in one job until return to DOS prompt
  7640.         02h set truncation mode (default)
  7641.         printer open/close or BIOS/DOS output switch starts new job
  7642.         03h flush printer output and start new print job
  7643. Return: CF set on error
  7644.         AX = error code
  7645.     CF clear if successful
  7646. Notes:    subfunction 03h is equivalent to Ctrl/Alt/keypad-*
  7647.     supported by PC LAN Program, LANtastic, NetWare, 10NET, etc.
  7648.     LANtastic v4.x no longer supports this call
  7649.     this function sets the printer mode for all redirected printers
  7650. SeeAlso: INT 21/AX=5D08h,INT 21/AX=5D09h,INT 2F/AX=1125h
  7651. --------N-2A07-------------------------------
  7652. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7653.     AH = 07h
  7654.     ???
  7655. Return: ???
  7656. Program: PC Network is an early networking package which was renamed the
  7657.       IBM PC Local Area Network Program (PC LAN Program) as of v1.10
  7658. SeeAlso: AH=86h
  7659. --------N-2A2001-----------------------------
  7660. INT 2A - MS Networks or NETBIOS - ???
  7661.     AX = 2001h
  7662.     ???
  7663. Return: ???
  7664. Note:    intercepted by DESQview 2.x
  7665. --------N-2A2002-----------------------------
  7666. INT 2A - NETWORK - ???
  7667.     AX = 2002h
  7668.     ???
  7669. Return: ???
  7670. Note:    called by MS-DOS 3.30-6.00 APPEND
  7671. --------N-2A2003-----------------------------
  7672. INT 2A - NETWORK - ???
  7673.     AX = 2003h
  7674.     ???
  7675. Return: ???
  7676. Note:    called by MS-DOS 3.30-6.00 APPEND
  7677. --------N-2A7802-----------------------------
  7678. INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
  7679.     AX = 7802h
  7680.     ES:DI -> 8-byte buffer to be filled
  7681. Return: AL = 00h if no user logged on to Extended Services
  7682.     AL <> 00h if user logged on to Extended Services
  7683.         buffer at ES:DI filled with name, padded to 8 chars with blanks.
  7684. --------D-2A80-------------------------------
  7685. INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
  7686.     AH = 80h
  7687.     AL = critical section number (00h-0Fh) (see #1344)
  7688. Notes:    normally hooked to avoid interrupting a critical section, rather than
  7689.       called
  7690.     the handler should ensure that none of the critical sections are
  7691.       reentered, usually by suspending a task which attempts to reenter
  7692.       an active critical section
  7693.     the DOS kernel does not invoke critical sections 01h and 02h unless it
  7694.       is patched.  DOS 3.1+ contains a zero-terminated list of words
  7695.       beginning at offset -11 from the Swappable Data Area
  7696.       (see #0892 at INT 21/AX=5D06h); each word contains the offset within
  7697.       the DOS data segment of a byte which must be changed from C3h (RET)
  7698.       to 50h (POP AX) under DOS 3.x or from 00h to a nonzero value under
  7699.       DOS 4+ to enable use of critical sections.  For DOS 4+, all words in
  7700.       this list point at the byte at offset 0D0Ch.
  7701.     MS Windows patches the DOS kernel's calls to INT 2A/AH=80h-81h into
  7702.       far calls to its own handler, and does not reflect the calls back
  7703.       to INT 2A unless SYSTEM.INI contains ReflectDOSInt2A=1 or
  7704.       ModifyDOSInt2A=0 in the [386Enh] section
  7705.     Novell NETX does not issue INT 2A/AH=80h and INT 2A/AH=81h calls when
  7706.       it intercepts INT 21 calls and processes them itself
  7707. SeeAlso: AH=81h,AH=82h,AX=8700h,INT 21/AX=5D06h,INT 21/AX=5D0Bh
  7708.  
  7709. (Table 1344)
  7710. Values for DOS critical section number:
  7711.  01h    DOS kernel, SHARE.EXE, DOSMGR
  7712.     apparently for maintaining the integrity of DOS/SHARE/NET
  7713.       data structures
  7714.  02h    DOS kernel, DOSMGR
  7715.     ensures that no multitasking occurs while DOS is calling an
  7716.       installable device driver
  7717.  05h    network redirector
  7718.  06h    DOS 4.x only IFSFUNC
  7719.  08h    ASSIGN.COM
  7720.  0Ah    MSCDEX
  7721.  0Fh    IBM PC LAN server (while intercepting INT 10/AH=06h,07h,0Eh)
  7722. --------D-2A81-------------------------------
  7723. INT 2A CU - NETWORK - END DOS CRITICAL SECTION
  7724.     AH = 81h
  7725.     AL = critical section number (00h-0Fh) (see #1344)
  7726. Notes:    normally hooked rather than called
  7727.     the handler should reawaken any tasks which were suspended due to an
  7728.       attempt to enter the specified critical section
  7729.     MS Windows patches the DOS kernel's calls to INT 2A/AH=80h-81h into
  7730.       far calls to its own handler, and does not reflect the calls back
  7731.       to INT 2A unless SYSTEM.INI contains ReflectDOSInt2A=1 or
  7732.       ModifyDOSInt2A=0 in the [386Enh] section
  7733. SeeAlso: AH=80h,AH=82h,AX=8700h
  7734. --------D-2A82-------------------------------
  7735. INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
  7736.     AH = 82h
  7737. Notes:    called by the INT 21h function dispatcher for function 0 and functions
  7738.       greater than 0Ch except 59h, and on process termination
  7739.     the handler should reawaken any tasks which were suspended due to an
  7740.       attempt to enter one of the critical sections 0 through 7
  7741. SeeAlso: AH=81h
  7742. --------N-2A84-------------------------------
  7743. INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
  7744.     AH = 84h
  7745. Note:    similar to DOS's INT 28h, called from inside the DOS keyboard input
  7746.       loop (i.e. INT 21/AH=07h or INT 21/AH=08h) to allow the network
  7747.       software to process requests
  7748. SeeAlso: INT 28
  7749. --------N-2A86-------------------------------
  7750. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7751.     AH = 86h
  7752.     ???
  7753. Return: ???
  7754. SeeAlso: AH=07h,AH=C4h
  7755. --------P-2A8700-----------------------------
  7756. INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
  7757.     AX = 8700h
  7758.     CF clear
  7759. Return: CF clear if OK to print in background now
  7760.     CF set if background printing not allowed at this time
  7761. Desc:    used to inform interested programs that PRINT is about to start its
  7762.       background processing, and allow those programs to postpone the
  7763.       processing if necessary
  7764. Notes:    when PRINT gains control and wants to begin printing, it calls this
  7765.       function.  If CF is clear on return, PRINT begins its background
  7766.       processing, and calls AX=8701h when it is done.  If CF is set on
  7767.       return, PRINT will relinquish control immediately, and will not
  7768.       call AX=8701h
  7769.     PCVENUS (an early network shell by IBM and CMU) hooks this call to
  7770.       prevent background printing while its own code is active
  7771. SeeAlso: AH=80h,AH=81h,AX=8701h
  7772. --------P-2A8701-----------------------------
  7773. INT 2A CU - PRINT - END BACKGROUND PRINTING
  7774.     AX = 8701h
  7775. Desc:    used to inform interested programs that PRINT has completed its
  7776.       background processing
  7777. Note:    called by PRINT after it has performed some background printing; not
  7778.       called if AX=8700h returned with CF set.
  7779. SeeAlso: AX=8700h
  7780. --------N-2A89-------------------------------
  7781. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7782.     AH = 89h
  7783.     AL = ???  (ASSIGN uses 08h)
  7784.     ???
  7785. Return: ???
  7786. --------I-2A90-------------------------------
  7787. INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
  7788.     AH = 90h
  7789.     ???
  7790. Return: ???
  7791. Note:    the LANtastic redirector and SERVER.EXE use this function with AL=01h,
  7792.       03h-07h,0Ch-11h
  7793. --------N-2AC2-------------------------------
  7794. INT 2A U - Network - ???
  7795.     AH = C2h
  7796.     AL = subfunction
  7797.         07h ???
  7798.         08h ???
  7799.     BX = 0001h
  7800.     ???
  7801. Return: ???
  7802. Note:    this function is called by the DOS 3.30-6.00 APPEND
  7803. --------N-2AC4-------------------------------
  7804. INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
  7805.     AH = C4h
  7806.     AL = subfunction
  7807.         07h ???
  7808.         08h ???
  7809.     BX = ???
  7810.     ???
  7811. Return: ???
  7812. SeeAlso: AH=86h
  7813. --------N-2AD800-----------------------------
  7814. INT 2A U - Novell NetWare Lite - SERVER - SET ???
  7815.     AX = D800h
  7816. Return: nothing
  7817. Desc:    sets ??? flag, and sets ??? to initial value
  7818. Note:    called by CLIENT
  7819. SeeAlso: AX=D801h,AX=D850h
  7820. --------N-2AD801-----------------------------
  7821. INT 2A U - Novell NetWare Lite - SERVER - RESET ???
  7822.     AX = D801h
  7823. Return: nothing
  7824. Desc:    clears the ??? flag set by AX=D800h
  7825. Note:    called by CLIENT
  7826. SeeAlso: AX=D800h,AX=D850h
  7827. --------N-2AD850-----------------------------
  7828. INT 2A U - Novell NetWare Lite - CLIENT - INCREMENT ???
  7829.     AX = D850h
  7830. Return: nothing
  7831. Desc:    increments an internal byte-sized counter
  7832. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7833.       Advanced NetWare 4.0 DOS Requester
  7834. SeeAlso: AX=D851h
  7835. --------N-2AD851-----------------------------
  7836. INT 2A U - Novell NetWare Lite - CLIENT - RESET ???
  7837.     AX = D851h
  7838. Return: nothing
  7839. Desc:    resets an internal byte-sized counter to zero
  7840. Note:    this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
  7841.       Advanced NetWare 4.0 DOS Requester
  7842. SeeAlso: AX=D850h
  7843. --------N-2AD852-----------------------------
  7844. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7845.     AX = D852h
  7846. Return: ???
  7847. Note:    calls the NetWare Lite SERVER installation check, and sets ??? pointer
  7848. SeeAlso: AX=D853h,INT 2F/AX=D880h
  7849. --------N-2AD853-----------------------------
  7850. INT 2A U - Novell NetWare - DOS Requester v1.03 - ???
  7851.     AX = D853h
  7852. Return: ???
  7853. Note:    clears the pointer set by AX=D852h
  7854. SeeAlso: AX=D852h
  7855. --------N-2AE0-------------------------------
  7856. INT 2A U - PC Network 1.00 - ???
  7857.     AH = E0h
  7858.     AL = subfunction??? (01h,02h, maybe others)
  7859.     ???
  7860. Return: ???
  7861. Note:    called by PCNet 1.00 NET.COM, a shell program from which others are run
  7862. --------N-2AFF90-----------------------------
  7863. INT 2A - PC/TCP PREDIR.EXE - ???
  7864.     AX = FF90h
  7865. Return: AX = ???
  7866. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7867.       PC/TCP system by FTP Software, Inc.
  7868. --------N-2AFF91-----------------------------
  7869. INT 2A - PC/TCP PREDIR.EXE - ???
  7870.     AX = FF91h
  7871.     BX = ???
  7872. Return: AX = status???
  7873. --------N-2AFF92-----------------------------
  7874. INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
  7875.     AX = FF92h
  7876. Return: AX = 0000h if installed
  7877.        BX = redirected printer port (FFFFh if no printers redirected)
  7878.        CX = version (CH = major, CL = minor)
  7879. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7880.       PC/TCP system by FTP Software, Inc.
  7881. --------N-2AFF93-----------------------------
  7882. INT 2A - PC/TCP PREDIR.EXE - ???
  7883.     AX = FF93h
  7884. Return: AX = ???
  7885. --------N-2AFF94-----------------------------
  7886. INT 2A - PC/TCP PREDIR.EXE - ???
  7887.     AX = FF94h
  7888.     BX = ???
  7889.     CX = ???
  7890.     DX = ???
  7891. Return: AX = ???
  7892. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7893.       PC/TCP system by FTP Software, Inc.
  7894. --------N-2AFF95-----------------------------
  7895. INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
  7896.     AX = FF95h
  7897.     CX = what to get
  7898.         0000h ??? (returned pointer to "C:\COMMAND.COM")
  7899.         0001h spooling program
  7900.         0002h ???
  7901.         0003h spool file name
  7902.         0004h swap file name
  7903. Return: AX = status
  7904.         0000h successful
  7905.     BX:DX -> ASCIZ configuration string
  7906. --------N-2AFF96-----------------------------
  7907. INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
  7908.     AX = FF96h
  7909.     CX = what to set
  7910.         0000h ???
  7911.         0001h print-on-hotkey state
  7912.         0002h print-on-exit state
  7913.         0003h print job timeout in clock ticks
  7914.         0004h print-on-EOF state
  7915.     BX = new value (0000h disabled, 0001h enabled except for timeout)
  7916. Return: AX = ???
  7917. SeeAlso: AX=FF97h
  7918. Note:    PREDIR.EXE is the network printer redirector included as part of the
  7919.       PC/TCP system by FTP Software, Inc.
  7920. --------N-2AFF97-----------------------------
  7921. INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
  7922.     AX = FF97h
  7923.     CX = what to get
  7924.         0000h ???
  7925.         0001h print-on-hotkey state
  7926.         0002h print-on-exit state
  7927.         0003h print job timeout in clock ticks
  7928.         0004h print-on-EOF state
  7929. Return: AX = status
  7930.         0000h successful
  7931.     BX = old value (0000h disabled, 0001 enabled except for timeout)
  7932. SeeAlso: AX=FF96h
  7933. --------D-2B---------------------------------
  7934. INT 2B - DOS 2+ - RESERVED
  7935. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7936. --------D-2C---------------------------------
  7937. INT 2C - DOS 2+ - RESERVED
  7938. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  7939. --------O-2C---------------------------------
  7940. INT 2C - STARLITE architecture - KERNEL API
  7941. Note:    STARLITE is an architecture by General Software for a series of MS-DOS
  7942.       compatible operating systems (OEM DOS, NETWORK DOS, and SMP DOS) to
  7943.       be released in 1991.    The interrupt number is subject to change
  7944.       before the actual release.
  7945. --------m-2C---------------------------------
  7946. INT 2C R - Cloaking - CALL PROTECTED-MODE PASSALONG CHAIN
  7947. Notes:    when this interrupt is invoked in V86 mode, RM386 will invoke the first
  7948.       in a chain of protected-mode handlers, and will only pass execution
  7949.       to the V86-mode INT 2C handler if none of the handlers in the
  7950.       passalong chain handle the call instead.  This is the method by which
  7951.       the real-mode stub of a cloaked application communicates with the
  7952.       protected-mode portion.
  7953.     the cloaking host calls the passalong chain with EAX=58494E33h ('WIN3')
  7954.       when MS Windows starts up and with EAX=334E4958h ('3NIW') when
  7955.       Windows shuts down; between these two broadcasts, the additional
  7956.       Windows-only Cloaking services are available
  7957.     this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
  7958.       memory manager included in Helix Software's Netroom
  7959. SeeAlso: INT 2C/AX=0009h,INT 2F/AX=4310h"Cloaking"
  7960. --------m-2C0000-----------------------------
  7961. INT 2C P - Cloaking - ALLOCATE GDT SELECTOR
  7962.     AX = 0000h
  7963.     EBX = base address
  7964.     CL = access mode byte
  7965.     CH = extended access mode byte (omit limit field)
  7966.     EDX = segment limit
  7967. Return: CF clear if successful
  7968.         AX = selector
  7969.     CF set on error
  7970.         AX = error code (see #1345)
  7971. Notes:    this INT 2C interface is used by Netroom's DPMI.EXE v3.00
  7972.     to access extended memory, set the base address to the desired
  7973.       physical address plus 400000h (4M)
  7974.     this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
  7975.       memory manager included in Helix Software's Netroom
  7976. SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0004h,AX=0005h,INT 31/AH=57h,#0377
  7977.  
  7978. (Table 1345)
  7979. Values for Cloaking error code:
  7980.  0001h    no more selectors
  7981.  0002h    not a GDT ring 0 selector
  7982.  0003h    invalid selector (out of range, not user selector)
  7983.  0004h    selector not allocated
  7984. --------m-2C0001-----------------------------
  7985. INT 2C P - Cloaking - FREE GDT SELECTOR
  7986.     AX = 0001h
  7987.     SI = selector
  7988. Return: CF clear if successful
  7989.     CF set on error
  7990.         AX = error code (see #1345)
  7991. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  7992. SeeAlso: AX=0000h,INT 2F/AX=4310h"Cloaking"
  7993. --------m-2C0002-----------------------------
  7994. INT 2C P - Cloaking - SET SEGMENT BASE ADDRESS
  7995.     AX = 0002h
  7996.     SI = selector
  7997.     EBX = new physical base addres
  7998. Return: CF clear if successful
  7999.     CF set on error
  8000.         AX = error code (see #1345)
  8001. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8002. SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 31/AX=0007h,#0377
  8003. --------m-2C0003-----------------------------
  8004. INT 2C P - Cloaking - SET SEGMENT LIMIT
  8005.     AX = 0003h
  8006.     SI = selector
  8007.     EBX = new limit
  8008. Return: CF clear if successful
  8009.     CF set on error
  8010.         AX = error code (see #1345)
  8011. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8012. SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 31/AX=0008h
  8013. --------m-2C0004-----------------------------
  8014. INT 2C P - Cloaking - SET SEGMENT ACCESS MODE
  8015.     AX = 0004h
  8016.     SI = selector
  8017.     CL = new access mode byte (see #0378)
  8018. Return: CF clear if successful
  8019.     CF set on error
  8020.         AX = error code (see #1345)
  8021. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8022. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0005h,INT 31/AX=0009h
  8023. --------m-2C0005-----------------------------
  8024. INT 2C P - Cloaking - SET SEGMENT EXTENDED ACCESS MODE
  8025.     AX = 0005h
  8026.     SI = selector
  8027.     CL = new extended access mode byte (limit field ignored) (see #1346)
  8028. Return: CF clear if successful
  8029.     CF set on error
  8030.         AX = error code (see #1345)
  8031. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8032. SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0004h,INT 31/AX=0009h
  8033.  
  8034. Bitfields for extended access mode byte:
  8035. Bit(s)    Description    (Table 1346)
  8036.  7    4K granularity instead of byte granularity
  8037.  6    32-bit code segment
  8038.  5    reserved (0)
  8039.  4    segment available to system
  8040. SeeAlso: #0379
  8041. --------m-2C0006-----------------------------
  8042. INT 2C P - Cloaking - GET PROTECTED-MODE INTERRUPT VECTOR
  8043.     AX = 0006h
  8044.     CL = vector (00h-7Fh)
  8045. Return: CF clear
  8046.     DX:EBX -> current interrupt handler
  8047. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8048. SeeAlso: AX=0007h,INT 31/AX=0204h
  8049. --------m-2C0007-----------------------------
  8050. INT 2C P - Cloaking - SET PROTECTED-MODE INTERRUPT VECTOR
  8051.     AX = 0007h
  8052.     CL = vector (00h-7Fh)
  8053.     DX:EBX -> interrupt handler
  8054. Return: CF clear
  8055. Notes:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8056.     the IDT entry's type remains unchanged
  8057. SeeAlso: AX=0006h,INT 31/AX=0205h
  8058. --------m-2C0008-----------------------------
  8059. INT 2C P - Cloaking - GET PASSALONG ADDRESS
  8060.     AX = 0008h
  8061. Return: CF clear
  8062.     DX:EBX = current passalong address
  8063. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8064. SeeAlso: AX=0009h,AX=002Ch,INT 2F/AX=4310h"Cloaking"
  8065. --------m-2C0009-----------------------------
  8066. INT 2C P - Cloaking - SET PASSALONG ADDRESS
  8067.     AX = 0009h
  8068.     DX:EBX = new value for passalong address (see #1347)
  8069. Return: CF clear
  8070. Notes:    when an INT 2C instruction is executed in V86 mode, the Cloaking host
  8071.       calls the passalong address.    The handler should check whether the
  8072.       upcall is of interest to it, and if not it should jump to the old
  8073.       passalong address (retrieved with AX=0008h before the handler was
  8074.       installed).  The final handler should return with CF clear to cause
  8075.       the interrupt to be reflected back to V86 mode if none of the
  8076.       passalong handlers is triggered
  8077.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8078. SeeAlso: AX=0008h,AX=002Dh,INT 2C"CLOAKING"
  8079.  
  8080. (Table 1347)
  8081. Values Cloaking passalong address is called with:
  8082.     EAX = CS:IP of byte following INT 2C instruction invoking passalong
  8083.     SS:EBX -> caller registers (see #1348)
  8084.     CF clear
  8085.     others undefined
  8086. Return: CF clear: pass along to V86-mode INT 2C handler
  8087.     CF set: return immediately to V86 mode
  8088.  
  8089. Format of Cloaking caller registers:
  8090. Offset    Size    Description    (Table 1348)
  8091.  00h    DWORD    EDI
  8092.  04h    DWORD    ESI
  8093.  08h    DWORD    EBP
  8094.  0Ch    DWORD    reserved (ESP from PUSHAD instruction)
  8095.  10h    DWORD    EBX
  8096.  14h    DWORD    EDX
  8097.  18h    DWORD    ECX
  8098.  1Ch    DWORD    EAX
  8099.  20h    DWORD    error code
  8100.  24h    DWORD    EIP
  8101.  28h    WORD    CS
  8102.  2Ah    WORD    padding
  8103.  2Ch    DWORD    EFLAGS
  8104.  30h    DWORD    ESP
  8105.  34h    WORD    SS
  8106.  36h    WORD    padding
  8107. --remainder not available if protected-mode ring3 trap---
  8108.  38h    WORD    ES
  8109.  3Ah    WORD    padding
  8110.  3Ch    WORD    DS
  8111.  3Eh    WORD    padding
  8112.  40h    WORD    FS
  8113.  42h    WORD    padding
  8114.  44h    WORD    GS
  8115.  46h    WORD    padding
  8116. --------m-2C000A-----------------------------
  8117. INT 2C P - Cloaking - GET BASE ADDRESS OF GDT SELECTOR
  8118.     AX = 000Ah
  8119.     SI = selector
  8120. Return: CF clear if successful
  8121.         EBX = segment base address
  8122.     CF set on error
  8123.         AX = error code (see #1345)
  8124. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
  8125.       memory manager included in Helix Software's Netroom
  8126. SeeAlso: AX=0000h,AX=0002h,AX=000Bh
  8127. --------m-2C000B-----------------------------
  8128. INT 2C P - Cloaking - GET SELECTOR LIMIT
  8129.     AX = 000Bh
  8130.     SI = selector
  8131. Return: CF clear if successful
  8132.         EBX = segment base address
  8133.     CF set on error
  8134.         AX = error code (see #1345)
  8135. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8136. SeeAlso: AX=000Ah,INT 2F/AX=4310h"Cloaking"
  8137. --------m-2C---------------------------------
  8138. INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
  8139.     AX = function (000Ch-001Fh)
  8140. --------m-2C000F-----------------------------
  8141. INT 2C P - Cloaking v1.01 - "Simulate_Shell_Event"
  8142.     AX = 000Fh
  8143.     ECX = event code (see #1349)
  8144.     DX = subfunction for event
  8145.     EDX high word = boost value (see #1350)
  8146.     SI:EDI -> completion procedure
  8147. Return: CF clear if successful (event scheduled)
  8148.     CF set on error
  8149. Note:    this function is only available while MS Windows is running
  8150. SeeAlso: AX=0011h,AX=0012h,INT 2F/AX=1605h,INT 2F/AX=4310h"Cloaking"
  8151.  
  8152. (Table 1349)
  8153. Values for Cloaking shell event code:
  8154.  0414h    Hot key event
  8155.     subevent 0000h: Alt-Space
  8156.     subevent 0001h: Alt-Enter
  8157.     subevent 0002h: Dir-VM
  8158.  0415h    Switch context
  8159.     subevent 0000h for DOS VM context, nonzero for System VM context
  8160.  0416h    Clipboard event
  8161.  0417h    Termination event
  8162.     subevent 0000h for normal termination, nonzero for error
  8163.  0418h    Display message
  8164.     subevent 0000h for normal message, nonzero for system model ASAP
  8165.  0419h    Crash
  8166.  041Ah    Paste complete
  8167.     subevent 0000h: normal
  8168.     subevent 0001h: cancelled by user
  8169.     subevent 0002h: cancelled
  8170.  041Bh    Contention event
  8171.  041Ch    Screen switch
  8172.     subevent 0000h: forward
  8173.     subevent 0001h: back
  8174.  041Dh    Filesystem change
  8175.  041Eh    Check Focus
  8176.  041Fh    Panic
  8177.  
  8178. Bitfields for boost value:
  8179. Bit(s)    Description    (Table 1350)
  8180.  0    boost system VM until focus changes
  8181.  1    boost system VM on Switcher screen
  8182.  2    boost system VM until response
  8183.  3    boost system VM during clipboard activity
  8184.  4    boost system VM during print screen
  8185.  5    boost system VM during update
  8186. --------m-2C0011-----------------------------
  8187. INT 2C P - Cloaking v1.01 - "Switch_VMs_and_Call_back"
  8188.     AX = 0011h
  8189.     EBX = handle of VM to be made active
  8190.     SI:EDI -> 32-bit FAR completion procedure
  8191. Return: CF clear if successful (scheduled)
  8192.     CF set on error
  8193. Notes:    this function is only available while MS Windows is running
  8194.     the completion procedure is called with CF clear if the specified
  8195.       VM has been made active, or with CF set on error
  8196. SeeAlso: AX=000Fh,AX=0012h
  8197. --------m-2C0012-----------------------------
  8198. INT 2C P - Cloaking v1.01 - "Query_Current_VM"
  8199.     AX = 0012h
  8200. Return: CF clear
  8201.     EBX = handle of active VM
  8202.     ESI = handle of system VM
  8203.     ECX = VM status flags (see #1351)
  8204.     EDX = shell flags (see #1352)
  8205. Note:    this function is only available while MS Windows is running in enhanced
  8206.       mode
  8207. SeeAlso: AX=000Fh,AX=0011h,AX=0013h
  8208.  
  8209. Bitfields for VM status flags:
  8210. Bit(s)    Description    (Table 1351)
  8211.  0    in exclusive mode
  8212.  1    runs in background
  8213.  2    being created
  8214.  3    suspended
  8215.  4    not executable
  8216.  5    executing in protected mode
  8217.  6    contains PM application
  8218.  7    32-bit PM application
  8219.  8    called from VxD
  8220.  9    high priority background
  8221.  10    blocked on semaphore
  8222.  11    awakening
  8223.  12    has pageable V86
  8224.  13    has locked V86
  8225.  14    is scheduled
  8226.  15    idle
  8227.  16    closing
  8228.  
  8229. Bitfields for shell flags:
  8230. Bit(s)    Description    (Table 1352)
  8231.  2    windowed
  8232.  5    Alt-Tab reserved
  8233.  6    Alt-Esc reserved
  8234.  7    Alt-Space reserved
  8235.  8    Alt-PrtSc reserved
  8236.  9    Alt-Enter reserved
  8237.  10    Alt-PrtSc reserved
  8238.  11    PrtSc reserved
  8239.  12    polling enabled
  8240.  13    no HMA
  8241.  14    has shortcut key
  8242.  15    locked EMS handles
  8243.  16    locked XMS handles
  8244.  17    fast paste enabled
  8245.  18    locked V86 memory
  8246.  30    close-on-exit enabled    
  8247. --------m-2C0013-----------------------------
  8248. INT 2C P - Cloaking v1.01 - "Issue_System_Modal_Message"
  8249.     AX = 0013h
  8250.     EDX = message box flags (see #1353)
  8251.     DS:ECX -> ASCIZ message text
  8252.     DS:EDI -> ASCIZ caption
  8253. Return: CF clear
  8254.     EAX = response code
  8255. Note:    this function is only available while MS Windows is running in enhanced
  8256.       mode
  8257. SeeAlso: AX=000Fh,AX=0012h
  8258.  
  8259. Bitfields for message box flags:
  8260. Bit(s)    Description    (Table 1353)
  8261.  3-0    response codes (see #1354)
  8262.  7-4    icon codes
  8263.     1 = Warning hand
  8264.     2 = exclamation mark
  8265.     4 = asterisk
  8266.  9-8    default response (0 = first button, 1 = second, 2 = third)
  8267.  12    message is system model
  8268.  15    don't change focus
  8269.  29    hang with interrupts enabled
  8270.  30    do not window
  8271.  31    execute ASAP
  8272.  
  8273. (Table 1354)
  8274. Values for response codes:
  8275.  00h    OK
  8276.  01h    OK, Cancel
  8277.  02h    Abort, Retry, Ignore
  8278.  03h    Yes, No, Cancel
  8279.  04h    Yes, No
  8280.  05h    Retry, Cancel
  8281. --------m-2C001D-----------------------------
  8282. INT 2C P - Cloaking v1.01 - GET INT 2C API HANDLER ENTRY POINT
  8283.     AX = 001Dh
  8284. Return: CF clear
  8285.     DX:EBX = selector:offset of Cloaking host INT 2C handler
  8286. Desc:    get the Cloaking host's entry point to bypass any other programs
  8287.       which may have hooked INT 2C in protected mode
  8288. Note:    the returned entry point must be called with a simulated INT, i.e.
  8289.       a PUSHD must precede the far call to the handler
  8290. SeeAlso: INT 2F/AX=4310h"Cloaking"
  8291. --------m-2C001E-----------------------------
  8292. INT 2C P - Cloaking v1.01 - CLEAR CRITICAL SECTION
  8293.     AX = 001Eh
  8294. Return: CF clear
  8295. Desc:    allow MS Windows to switch to another VM after having prevented it
  8296.       by invoking a critical section
  8297. SeeAlso: AX=001Fh,INT 15/AX=101Ch,INT 2F/AX=1682h
  8298. --------m-2C001F-----------------------------
  8299. INT 2C P - Cloaking v1.01 - SET CRITICAL SECTION
  8300.     AX = 001Fh
  8301. Return: CF clear
  8302. Desc:    prevent MS Windows from switching to another VM
  8303. SeeAlso: AX=001Eh,INT 15/AX=101Bh,INT 2F/AX=1681h
  8304. --------m-2C0020-----------------------------
  8305. INT 2C P - Cloaking - GET SIZE OF PROTECTED-MODE STATE
  8306.     AX = 0020h
  8307. Return: EAX = number of bytes required for storing state
  8308. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8309. SeeAlso: AX=0021h,AX=0022h
  8310. --------m-2C0021-----------------------------
  8311. INT 2C P - Cloaking - SAVE PROTECTED-MODE STATE
  8312.     AX = 0021h
  8313.     ES:EDI -> buffer for protected-mode state
  8314. Return: CF clear
  8315.     buffer filled
  8316. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8317. SeeAlso: AX=0020h,AX=0022h
  8318. --------m-2C0022-----------------------------
  8319. INT 2C P - Cloaking - RESTORE PROTECTED-MODE STATE
  8320.     AX = 0022h
  8321.     DS:ESI -> buffer containing previously-saved protected-mode state
  8322. Return: CF clear if successful
  8323.         state restored
  8324.     CF set on error (invalid buffer contents)
  8325. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8326. SeeAlso: AX=0020h,AX=0021h
  8327. --------m-2C0023-----------------------------
  8328. INT 2C P - Cloaking - ISSUE PROTECTED-MODE XMS CALL
  8329.     AX = 0023h
  8330. Notes:    not currently implemented--NOP in RM386 v6.00
  8331.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8332. --------m-2C0024-----------------------------
  8333. INT 2C P - Cloaking - SET V86-MODE STACK
  8334.     AX = 0024h
  8335.     DX:EBX = new value for V86-mode SS:ESP
  8336. Return: nothing
  8337. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8338. --------m-2C0025-----------------------------
  8339. INT 2C P - Cloaking - CALL V86-MODE PROCEDURE
  8340.     AX = 0025h
  8341.     DS:EBX -> client register structure (see #1348)
  8342. Return: CF clear if successful
  8343.         client register structure updated
  8344.     CF set if no more nested procedure call space available
  8345. Notes:    this call uses the V86-mode stack supplied in the client structure, and
  8346.       calls the routine specified by CS:IP in the client structure
  8347.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8348. SeeAlso: AX=0026h,AX=0027h,INT 31/AX=0301h
  8349. --------m-2C0026-----------------------------
  8350. INT 2C P - Cloaking - CALL V86-MODE INTERRUPT HANDLER
  8351.     AX = 0026h
  8352.     DS:EBX -> client register structure (see #1348)
  8353.     CX = interrupt number
  8354. Return: CF clear if successful
  8355.         client register structure updated
  8356.     CF set if no more nested procedure call space available
  8357. Notes:    this call uses the V86-mode stack supplied in the client structure
  8358.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8359. SeeAlso: AX=0025h,AX=0027h,INT 31/AX=0300h
  8360. --------m-2C0027-----------------------------
  8361. INT 2C P - Cloaking - CHAIN TO V86-MODE INTERRUPT HANDLER
  8362.     AX = 0027h
  8363.     DS:EBX -> client register structure (see #1348)
  8364. Return: CF clear if successful
  8365.         client register structure updated
  8366.     CF set if no more nested procedure call space available
  8367. Notes:    this call uses the V86-mode stack supplied in the client structure,
  8368.       and jumps to the address specified by CS:IP in the client structure
  8369.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8370. SeeAlso: AX=0025h,AX=0026h
  8371. --------m-2C0028-----------------------------
  8372. INT 2C P - Cloaking - GET ESP0 FROM TSS
  8373.     AX = 0028h
  8374. Return: CF clear
  8375.     EAX = TSS's ESP0
  8376. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
  8377.       memory manager included in Helix Software's Netroom
  8378. --------m-2C0029-----------------------------
  8379. INT 2C P - Cloaking - SET SECONDARY STACK
  8380.     AX = 0029h
  8381.     DX:EBX = new value for SS:ESP of ring 3 secondary stack
  8382. Return: CF clear
  8383. Desc:    inform RM386 of the ring 3 interrupt stack location
  8384. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8385. --------m-2C002A-----------------------------
  8386. INT 2C P - Cloaking - SET 8259 IRQ BASE VECTORS
  8387.     AX = 002Ah
  8388.     BL = base vector of master interrupt controller
  8389.     CL = base vector of slave interrupt controller
  8390. Notes:    this call merely informs RM386 that the caller has changed the
  8391.       interrupt mappings
  8392.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8393. SeeAlso: INT 67/AX=DE0Bh
  8394. --------m-2C002BCH81-------------------------
  8395. INT 2C P - Cloaking - PROTECTED-MODE VIRTUAL DMA SERVICES
  8396.     AX = 002Bh
  8397.     CH = 81h
  8398.     CL = subfunction (02h-0Ch)
  8399.     other registers as appropriate for subfunction
  8400. Return: varies by function
  8401.     CF set on error
  8402. Notes:    these functions are equivalent to the INT 4B/AX=81xxh subfunctions
  8403.       with the same numbers
  8404.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8405. SeeAlso: INT 4B/AX=8102h,INT 4B/AX=810Ch
  8406. --------m-2C002C-----------------------------
  8407. INT 2C P - Cloaking - GET PORT-TRAPPING PASSALONG
  8408.     AX = 002Ch
  8409. Return: CF clear
  8410.     DX:EBX = current I/O trapping passalong address
  8411. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8412. SeeAlso: AX=0008h,AX=002Dh
  8413. --------m-2C002D-----------------------------
  8414. INT 2C P - Cloaking - SET PORT-TRAPPING PASSALONG
  8415.     AX = 002Dh
  8416.     DX:EBX = new I/O trapping passalong address (see #1355)
  8417. Return: CF clear
  8418. Notes:    RM386 calls the passalong address whenever an access to a monitored
  8419.       I/O port is attempted; the handler should check whether it is a port
  8420.       that it is interested in, and if not call the previous passalong
  8421.       address (which was retrieved with AX=002Ch before installing the
  8422.       new handler)
  8423.     this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8424. SeeAlso: AX=0009h,AX=002Ch,INT 67/AX=5DEAh
  8425.  
  8426. (Table 1355)
  8427. Values Cloaking port-trapping passalong address is called with:
  8428.     EAX = CS:IP of faulting instruction (unless executing in protected-mode
  8429.         ring 3)
  8430.     SS:EBX -> caller register structure (see #1348)
  8431.         check EFLAGS V86-mode bit for type
  8432.     CX = first two bytes of I/O instruction which was trapped
  8433.     DX = port to which I/O is being performed
  8434.     CF clear
  8435. Return: CF clear if RM386 should perform I/O operation
  8436.     CF set if I/O should be skipped
  8437. Note:    RM386 skips the trapped I/O instruction, so the passalong handler
  8438.       should not modify the client CS:EIP
  8439. --------m-2C002E-----------------------------
  8440. INT 2C P - Cloaking - TRAP I/O PORT
  8441.     AX = 002Eh
  8442.     DX = port number to trap
  8443. Return: CF clear if successful
  8444.     CF set on error (port out of range or reserved)
  8445. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8446. SeeAlso: AX=002Fh,AX=0030h
  8447. --------m-2C002F-----------------------------
  8448. INT 2C PU - Cloaking - UNTRAP I/O PORT
  8449.     AX = 002Fh
  8450.     DX = port number for which to cancel trapping
  8451. Return: CF clear if successful
  8452.     CF set on error (port out of range or reserved)
  8453. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8454. SeeAlso: AX=002Eh,AX=0030h
  8455. --------m-2C0030-----------------------------
  8456. INT 2C PU - Cloaking - GET TRAPPING STATE OF SPECIFIED PORT
  8457.     AX = 0030h
  8458.     DX = port number
  8459. Return: CF clear if successful
  8460.        BX = current state (0000h not trapped, 0001h trapped)
  8461.     CF set on error (port out of range or reserved)
  8462. Note:    this function was first introduced with RM386 (RAM-MAN/386) v6.00
  8463. SeeAlso: AX=002Eh,AX=002Fh
  8464. --------m-2C0031-----------------------------
  8465. INT 2C PU - RM386 v6.00 - BUG
  8466.     AX = 0031h
  8467. Program: RM386 (RAM-MAN/386) is the memory manager included in Helix Software's
  8468.       Netroom
  8469. Note:    due to a fencepost error, RM386 v6.00 will branch unpredictably if
  8470.       invoked with this function
  8471. --------m-2C0031-----------------------------
  8472. INT 2C P - Cloaking v1.01 - ALLOCATE V86 CALLBACK
  8473.     AX = 0031h
  8474.     DX:EBX = CS:EIP of protected-mode routine to be invoked by callback
  8475. Return: CF clear if successful
  8476.         EBX = CS:IP of V86-mode callback handler
  8477.     CF set on error
  8478. SeeAlso: AX=0032h
  8479. --------m-2C0032-----------------------------
  8480. INT 2C P - Cloaking v1.01 - FREE V86 CALLBACK
  8481.     AX = 0032h
  8482.     EBX = CS:IP of V86-mode callback handler
  8483. Return: CF clear if successful
  8484.     CF set on error
  8485.         AX = error code
  8486.         0005h invalid callback address
  8487.         0006h callback already free
  8488. SeeAlso: AX=0032h
  8489. ----------2C0033-----------------------------
  8490. INT 2C P - Cloaking v1.01 - REGISTER CLOAKING CLIENT
  8491.     AX = 0033h
  8492.     DS:EDX -> client registration structure (see #1356)
  8493. Return: CF clear if successful
  8494.     CF set on error (linked list corrupt)
  8495. SeeAlso: AX=0034h,#1497 at INT 2F/AX=4310h"Cloaking"
  8496.  
  8497. Format of client registration structure:
  8498. Offset    Size    Description    (Table 1356)
  8499.  00h    PWORD    link to next structure
  8500.  06h    PWORD    link to previous structure
  8501.  0Ch  2 BYTEs    client version (major, minor)
  8502.  0Eh 20 BYTEs    client name
  8503.  22h    DWORD    physical address of client start
  8504.  26h    DWORD    client's total size in bytes
  8505. Note:    the link area should not be modified once the structure has been
  8506.       used for the registration call
  8507. ----------2C0034-----------------------------
  8508. INT 2C P - Cloaking v1.01 - UNREGISTER CLOAKING CLIENT
  8509.     AX = 0034h
  8510.     DS:EDX -> client registration structure (see #1356)
  8511. Return: CF clear if successful
  8512.     CF set on error (linked list corrupt)
  8513. Note:    the client must unregister before freeing the XMS block containing
  8514.       its registration structure(s)
  8515. SeeAlso: AX=0033h,#1497 at INT 2F/AX=4310h"Cloaking"
  8516. --------D-2D---------------------------------
  8517. INT 2D - DOS 2+ - RESERVED
  8518. Note:    this vector is not used in DOS versions <= 6.00, and points at an IRET
  8519. BUG:    RM386 v6.00-6.02 (as distributed with Helix's Netroom v3.x) contains
  8520.       a stack bug in its protected-mode INT 2D handler which causes a crash
  8521.       when INT 2D is invoked from V86 mode
  8522. --------t-2D---------------------------------
  8523. INT 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.5.1]
  8524.     AH = multiplex number
  8525.     AL = function
  8526.         00h installation check
  8527.         Return: AL = 00h if free
  8528.             AL = FFh if multiplex number in use
  8529.                 CX = binary version number (CH = major, CL = minor)
  8530.                 DX:DI -> signature string (see #1357) identifying
  8531.                     the program using the multiplex number
  8532.         01h get entry point
  8533.         Return: AL = 00h if all API calls via INT 2D
  8534.             AL = FFh if entry point supported
  8535.                 DX:BX -> entry point for bypassing interrupt chain
  8536.         02h uninstall
  8537.         DX:BX = return address for successful uninstall (may be
  8538.             ignored by TSR)
  8539.         Return: AL = status
  8540.                 00h not implemented
  8541.                 01h unsuccessful
  8542.                 02h can not uninstall yet, will do so when able
  8543.                 03h safe to remove, but no resident uninstaller
  8544.                 (TSR still enabled)
  8545.                 BX = segment of memory block with resident code
  8546.                 04h safe to remove, but no resident uninstaller
  8547.                 (TSR now disabled)
  8548.                 BX = segment of memory block with resident code
  8549.                 05h not safe to remove now, try again later
  8550.                 FFh successful
  8551.             return at DX:BX with AX destroyed if successful and
  8552.               TSR honors specific return address
  8553.         03h request pop-up
  8554.         Return: AL = status
  8555.                 00h not implemented or TSR is not a pop-up
  8556.                 01h can not pop up at this time, try again later
  8557.                 02h can not pop up yet, will do so when able
  8558.                 03h already popped up
  8559.                 04h unable to pop up, user intervention required
  8560.                 BX = standard reason code
  8561.                     0000h unknown failure
  8562.                     0001h interrupt chain passes through memory
  8563.                       which must be swapped out to pop up
  8564.                     0002h swap-in failed
  8565.                 CX = application's reason code if nonzero
  8566.                 FFh TSR popped up and was exited by user
  8567.                 BX = return value
  8568.                     0000h no return value
  8569.                     0001h TSR unloaded
  8570.                     0002h-00FFh reserved
  8571.                     0100h-FFFFh application-dependent
  8572.         04h determine chained interrupts
  8573.         BL = interrupt number (except 2Dh)
  8574.         Return: AL = status
  8575.                 00h not implemented
  8576.                 01h (obsolete) unable to determine
  8577.                 02h (obsolete) interrupt hooked
  8578.                 03h (obsolete) interrupt hooked, address returned
  8579.                 DX:BX -> TSR's interrupt BL handler
  8580.                 04h list of hooked interrupts returned
  8581.                 DX:BX -> interrupt hook list (see #1358)
  8582.                 FFh interrupt not hooked
  8583.         Notes:    since INT 2D is known to be hooked, the resident code
  8584.               need not test for BL=2Dh (to minimize its size), and
  8585.               the return value is therefore undefined in that case.
  8586.             BL is ignored if the TSR returns AL=04h; in that case,
  8587.               the caller needs to scan the return list rather than
  8588.               making additional calls to this function.  If the
  8589.               return is not 00h or 04h, then the caller must cycle
  8590.               through the remaining interrupt numbers it wishes to
  8591.               check.
  8592.             return values 01h thru 03h are disparaged and will be
  8593.               removed from the next version of this specification;
  8594.               they are included for compatibility with version 3.3,
  8595.               though they were probably never used in any
  8596.               implementation
  8597.         05h get hotkeys
  8598.         Return: AL = status
  8599.                 00h not implemented
  8600.                 FFh supported
  8601.                 DX:BX -> hotkey list (see #1359)
  8602.         06h-0Fh reserved for future enhancements
  8603.         Return: AL = 00h (not implemented)
  8604.         other  application-dependent
  8605. Notes:    programs should not use fixed multiplex numbers; rather, a program
  8606.       should scan all multiplex numbers from 00h to FFh, remembering the
  8607.       first unused multiplex in case the program is not yet installed.
  8608.       For multiplex numbers which are in use, the program should compare
  8609.       the first 16 bytes of the signature string to determine whether it
  8610.       is already installed on that multiplex number.  If not previously
  8611.       installed, it should use the first free multiplex number.
  8612.     functions other than 00h are not valid unless a program is installed
  8613.       on the selected multiplex number
  8614.     to be considered fully compliant with version 3.5 of the specification,
  8615.       programs must implement at least functions 00h, 02h (no resident
  8616.       uninstall code required), and 04h (return value 04h).     TSRs that
  8617.       provide hotkeys with which the user can activate them must also
  8618.       implement function 05h.  The absolute minimum fully-compliant
  8619.       implementation has an overhead of 64 bytes (80 bytes with function
  8620.       05h) plus 22 bytes per hooked interrupt (for the interrupt sharing
  8621.       protocol header and hook list entry).
  8622.     the signature string and description may be used by memory mappers
  8623.       to display the installed programs
  8624.     users of this proposal should adhere to the IBM interrupt sharing
  8625.       protocol (see #1363), which will permit removal of TSRs in
  8626.       arbitrary order and interrupt handler reordering.  All TSRs
  8627.       following this proposal should be removable, though they need not
  8628.       keep the code for removing themselves resident; it is acceptable
  8629.       for a separate program to perform the removal.
  8630.     A sample implementation including example TSRs and utility programs
  8631.       may be found in a separate package distributed as AMISLnnn.ZIP
  8632.       (AMISL091.ZIP as of this writing).
  8633.     Please let me know if you choose to follow this proposal.  The
  8634.       signature and a list of the private API calls you use would be
  8635.       appreciated, as well.
  8636. SeeAlso: INT 2F
  8637. Index:    installation check;Alternate Multiplex Interrupt Specification
  8638. Index:    installation check;AMIS|installation check;FASTMOUS
  8639. Index:    installation check;SPELLER|installation check;Monitor
  8640. Index:    installation check;NOLPT|installation check;NOTE
  8641. Index:    installation check;RBkeyswp|installation check;SWITCHAR
  8642. Index:    installation check;VGABLANK|installation check;EATMEM
  8643. Index:    installation check;RECALL|installation check;XPTR2
  8644. Index:    uninstall;Alternate Multiplex Interrupt Specification|uninstall;AMIS
  8645. Index:    entry point;Alternate Multiplex Interrupt|entry point;AMIS
  8646.  
  8647. Format of AMIS signature string:
  8648. Offset    Size    Description    (Table 1357)
  8649.  00h  8 BYTEs    blank-padded manufacturer's name (possibly abbreviated)
  8650.  08h  8 BYTEs    blank-padded product name
  8651.  10h 64 BYTEs    ASCIZ product description (optional, may be a single 00h)
  8652. Note:    it is not necessary to reserve a full 64 bytes for the description,
  8653.       just enough to store the actual ASCIZ string
  8654. SeeAlso: #1364
  8655.  
  8656. Format of AMIS interrupt hook list [array]:
  8657. Offset    Size    Description    (Table 1358)
  8658.  00h    BYTE    interrupt number (last entry in array is 2Dh)
  8659.  01h    WORD    offset within hook list's segment of the interrupt handler
  8660.         this will point at the initial short jump of the interrupt
  8661.           sharing protocol header (see #1363)
  8662.  
  8663. Format of AMIS hotkey list:
  8664. Offset    Size    Description    (Table 1359)
  8665.  00h    BYTE    type of hotkey checking (see #1360)
  8666.  01h    BYTE    number of hotkeys (may be zero if TSR can disable hotkeys)
  8667.  02h 6N BYTEs    array of hotkey definitions
  8668.         (one per hotkey, first should be primary hotkey)
  8669.         Offset    Size    Description
  8670.          00h    BYTE    hotkey scan code (00h/80h if shift states only)
  8671.                 hotkey triggers on release if bit 7 set
  8672.          01h    WORD    required shift states (see #1361)
  8673.          03h    WORD    disallowed shift states (see #1361)
  8674.          05h    BYTE    hotkey flags (see #1362)
  8675. Notes:    except for bit 7, the shift states correspond exactly to the return
  8676.       values from INT 16/AH=12h.  A set bit in the required states word
  8677.       indicates that the corresponding shift state must be active when the
  8678.       hotkey's scan code is received for the hotkey to be recognized; a
  8679.       clear bit means that the corresponding state may be ignored.    A set
  8680.       bit in the disallowed shift states word indicates that the
  8681.       corresponding shift state must be inactive.
  8682.     for the disallowed-states word, if one of the "either" bits is set,
  8683.       then both the corresponding left bit and right bit must be set
  8684.     examples:
  8685.         Ctrl-Alt-Del monitoring: 53h 000Ch 0003h 06h
  8686.         Alt-key tap (DESQview):     B8h 0000h 0007h 08h
  8687.         Shf-Shf-N (NOTE.COM):     31h 0003h 000Ch 00h
  8688. Index:    hotkeys;AMIS
  8689.  
  8690. Bitfields for type of AMIS hotkey checking:
  8691. Bit(s)    Description    (Table 1360)
  8692.  0    checks before chaining INT 09
  8693.  1    checks after chaining INT 09
  8694.  2    checks before chaining INT 15/AH=4Fh
  8695.  3    checks after chaining INT 15/AH=4Fh
  8696.  4    checks on INT 16/AH=00h,01h,02h
  8697.  5    checks on INT 16/AH=10h,11h,12h
  8698.  6    checks on INT 16/AH=20h,21h,22h
  8699.  7    reserved (0)
  8700.  
  8701. Bitfields for AMIS shift states:
  8702. Bit(s)    Description    (Table 1361)
  8703.  0    right shift pressed
  8704.  1    left shift pressed
  8705.  2    either control key pressed
  8706.  3    either Alt key pressed
  8707.  4    ScrollLock active
  8708.  5    NumLock active
  8709.  6    CapsLock active
  8710.  7    either shift key pressed
  8711.  8    left control key pressed
  8712.  9    left Alt key pressed
  8713.  10    right control key pressed
  8714.  11    right Alt key pressed
  8715.  12    ScrollLock pressed
  8716.  13    NumLock pressed
  8717.  14    CapsLock pressed
  8718.  15    SysReq key pressed
  8719. Notes:    if bit 2 is set, either control key may be pressed for the hotkey; if
  8720.       bits 8 and 10 are both set, then both control keys must be pressed.
  8721.       Similarly for bits 3 and 9/11, as well as 7 and 0/1.
  8722.     the SysReq key is often labeled SysRq
  8723.  
  8724. Bitfields for AMIS hotkey flags:
  8725. Bit(s)    Description    (Table 1362)
  8726.  0    hotkey chained before processing
  8727.  1    hotkey chained after processing
  8728.  2    others should pass through this hotkey so that it can be monitored
  8729.  3    hotkey will not activate if other keys pressed/released before hotkey
  8730.       press is completed
  8731.  4    this key is remapped into some other key
  8732.  5-7    reserved (0)
  8733.  
  8734. Format of interrupt sharing protocol interrupt handler entry point:
  8735. Offset    Size    Description    (Table 1363)
  8736.  00h  2 BYTEs    short jump to actual start of interrupt handler, immediately
  8737.           following this data block (EBh 10h)
  8738.  02h    DWORD    address of next handler in chain
  8739.  06h    WORD    signature 424Bh
  8740.  08h    BYTE    EOI flag
  8741.         00h software interrupt or secondary hardware interrupt handler
  8742.         80h primary hardware interrupt handler (will issue EOI)
  8743.  09h  2 BYTEs    short jump to hardware reset routine
  8744.         must point at a valid FAR procedure (may be just RETF)
  8745.  0Bh  7 BYTEs    reserved (0)
  8746. SeeAlso: INT F1"Common ISDN API",#2615
  8747.  
  8748. (Table 1364)
  8749. Values of AMIS signatures known to be in use:
  8750.  'Byrial J' 'EKLAVO  '    permits keyboard entry of Esperanto accented letters
  8751.  'CoveSoft' 'Burnout+'    shareware screen saver Burnout Plus
  8752.  'Crynwr  ' 'SPELLER '    TSR spelling-checker
  8753.  'CSJewell' 'Modula3L'    Curtis Jewell's Modula-3 compiler (non-TSR)
  8754.  'DAISYCHA' 'INDRIVER'    Advanced Parallel Port daisy chain driver (vendor name
  8755.               in product description field, if desired)
  8756.             (see also INT 2D/AL=DCh)
  8757.  'ECLIPSE ' 'PLUMP   '    Eclipse Software's printer and plotter spooler
  8758.  'GraySoft' 'GIPC    '    GraySoft's Inter-Process Communications driver
  8759.  'heathh  ' 'Monitor '
  8760.  'Helge O '        TSRs by Helge Olav Helgesen
  8761.  'J. Berry' 'RATSR   '    RemoteAccess Network Manager workstation module
  8762.  'JWB      ' 'RAMLIGHT'    James Birdsall's on-screen RAMdisk activity indicator
  8763.  'M Better' 'iHPFS   '    Marcus Better's HPFS filesystem driver for DOS
  8764.  'Nildram ' 'ST         '    Screen Thief graphics screen grabber
  8765.  'R-Ware  ' 'dLite   '    run-time data decompression TSR
  8766.  'Ralf B  ' 'FASTMOUS'    example TSR included with sample AMIS library code
  8767.  'Ralf B  ' 'NOLPT n '    example TSR -- turn LPTn into bit-bucket
  8768.  'Ralf B  ' 'NOTE    '    example TSR -- popup note-taker
  8769.  'Ralf B  ' 'RBkeyswp'    RBkeyswap v3.0+ -- swap Esc/~ and LCtrl/CapsLock keys
  8770.  'Ralf B  ' 'SWITCHAR'    example TSR -- add switchar() support removed from DOS5
  8771.  'Ralf B  ' 'VGABLANK'    example TSR -- VGA-only screen blanker
  8772.  'Sally IS' 'Mdisk   '    removeable, resizeable RAMdisk
  8773.  'Sally IS' 'Scr2Tex '    screen dumper with output in (La)Tex format
  8774.  'Thaco      ' 'NEST    '    Eirik Pedersen's programmer's delimiter matcher
  8775.  'TifaWARE' 'EATMEM  '    George A. Theall's public domain memory restrictor for
  8776.             testing programs (v1.1+)
  8777.  'TifaWARE' 'RECALL  '    public domain commandline editor and history (v1.2+)
  8778.  'Todd      ' 'XPTR2   '    PC-to-Transputer interface by Todd Radel
  8779. SeeAlso: #1357
  8780. --------N-2D--10-----------------------------
  8781. INT 2D - RATSR 2.0+ - GET STATUS
  8782.     AL = 10h
  8783.     AH = AMIS multiplex number for RATSR
  8784. Return: AL = status
  8785.         01h listening (no connection)
  8786.         02h receiving          \
  8787.         03h sending               > station being monitored
  8788.         04h initializing receive  /
  8789.     AH = keyboard lock status (00h unlocked, 01h locked)
  8790. Program: RATSR is a utility by James Berry provided with
  8791.       RemoteAccess/Professional, a commercial bulletin board system, that
  8792.       allows remote control of a station over a network
  8793. SeeAlso: INT 2D"AMIS"
  8794. --------d-2D--10-----------------------------
  8795. INT 2D - dLite 1.0+ - GET PARAMETER BLOCK ADDRESS
  8796.     AL = 10h
  8797.     AH = AMIS multiplex number for dLite
  8798. Return: CF clear if successful
  8799.         ES:BX -> parameter block (see #1365)
  8800.     CF set on error
  8801. Program: dLite is a shareware TSR by Rainer Schuetze which transparently
  8802.       expands compressed files when they are read
  8803. SeeAlso: AL=11h"dLite",AL=12h"dLite",INT 21/AX=FEDCh"PCMANAGE"
  8804.  
  8805. Format of dLite parameter block:
  8806. Offset    Size    Description    (Table 1365)
  8807.  00h    BYTE    TSR flags (see #1366)
  8808.  01h    WORD    maximum number of programs needing original filesize
  8809.  03h    WORD    current number of programs needing original filesize
  8810.  05h    WORD    maximum number of files that can be handled by dLite (should
  8811.           be the same as FILES= in CONFIG.SYS)
  8812.  07h    WORD    offset (in the same segment as the parameter block) of the
  8813.           table of programs needing the original filesize (8 bytes
  8814.           each,    without path or extension, uppercase, and zero \
  8815.           terminated if    shorter than 8 bytes)
  8816.  
  8817. Bitfields for dLite TSR flags:
  8818. Bit(s)    Description    (Table 1366)
  8819.  0    deny FCB access
  8820.  1    dLite sleeping rather than activated
  8821.  2    always indicate original filesize when reading directory entries,
  8822.       rather than only for specified programs
  8823.  3-7    reserved
  8824. SeeAlso: #1365
  8825. --------V-2D--10-----------------------------
  8826. INT 2D - Burnout Plus v3.00 - GET STATE/CONTROL INFORMATION
  8827.     AL = 10h
  8828.     AH = AMIS multiplex number for Burnout Plus
  8829. Return: AL = 01h
  8830.     BX = Burnout Plus status (see #1367)
  8831.     CX = record of features loaded (see #1368)
  8832.     ES:DI -> Burnout Plus control structure (see #1369)
  8833. Program: Burnout Plus is a DOS screen saver from Cove Software
  8834. SeeAlso: INT 14/AX=AA01h,INT 2D"AMIS"
  8835. Index:    screen saver;Burnout Plus
  8836.  
  8837. Bitfields for Burnout Plus status:
  8838. Bit(s)    Description    (Table 1367)
  8839.  0    screen is blanked
  8840.  1    MS Windows is active (Burnout Plus deactivated)
  8841.  2-15    reserved
  8842.  
  8843. Bitfields for Burnout Plus features loaded/features enabled:
  8844. Bit(s)    Description    (Table 1368)
  8845.  0    mouse activity monitor
  8846.  1    passkey support
  8847.  2    password support
  8848.  3    continuous clear
  8849.  4    software blanking
  8850.  5    video activity monitor
  8851.  6    disk activity monitor
  8852.  7    activating keystroke suppression
  8853. SeeAlso: #1369
  8854.  
  8855. Format of Burnout Plus control structure:
  8856. Offset    Size    Description    (Table 1369)
  8857.  00h    BYTE    size of structure in bytes
  8858.  01h    WORD    Burnout Plus version
  8859.  03h    WORD    screen blanking reset count in clock ticks
  8860.  05h    WORD    current countdown value in clock ticks
  8861.  07h    BYTE    type of timeout specification
  8862.  08h    BYTE    instant-blank hotkey
  8863.  09h    WORD    extended status information (see #1370)
  8864.         the bits for password, passkey, and software blanking are
  8865.           ignored and cannot be enabled or disabled externally
  8866.  0Bh    WORD    features enabled (see #1368)
  8867. Note:    all fields except the first two may be modified by external programs
  8868.       to affect the operation of Burnout Plus
  8869. Index:    hotkeys;Burnout Plus
  8870.  
  8871. Bitfields for extended Burnout Plus status information:
  8872. Bit(s)    Description    (Table 1370)
  8873.  0    Burnout Plus disabled
  8874.  1    force screen to blank on next clock tick
  8875.  2    restore screen if currently blanked
  8876.  3-15    reserved
  8877. Note:    1 and 2 are automatically cleared by Burnout Plus after blanking
  8878.       or restoring the screen
  8879. SeeAlso: #1369
  8880. --------V-2D--10-----------------------------
  8881. INT 2D U - Screen Thief v1.00 - FREE HIGH MEMORY BUFFERS
  8882.     AL = 10h
  8883.     AH = AMIS multiplex number for Screen Thief
  8884. Return: nothing
  8885. Program: Screen Thief is a graphics screen grabber
  8886. Note:    releases any code and data stored in EMS, DOS UMBs, or XMS UMBs, but
  8887.       does not release the low-memory stub; this may be used to effect a
  8888.       partial uninstall if INT 2D/AL=02h fails
  8889. SeeAlso: INT D8"Screen Thief"
  8890. --------i-2D--10-----------------------------
  8891. INT 2D U - RAMLIGHT v1.0 - GET MONITORING INFORMATION
  8892.     AL = 10h
  8893.     AH = AMIS multiplex number for RAMLIGHT
  8894. Return: ES:BX -> array of fake device driver headers used in monitoring
  8895.     CX = number of drives being monitored???
  8896. --------d-2D--11-----------------------------
  8897. INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET ORIGINAL SIZE
  8898.     AL = 11h
  8899.     AH = AMIS multiplex number for dLite
  8900.     BX = file handle
  8901. Return: CF clear if successful
  8902.         DX:AX = size of uncompressed file
  8903.     CF set on error (not dPressed file)
  8904. SeeAlso: AL=10h"dLite",AL=12h"dLite"
  8905. --------d-2D--12-----------------------------
  8906. INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET COMPRESSED SIZE
  8907.     AL = 12h
  8908.     AH = AMIS multiplex number for dLite
  8909.     BX = file handle
  8910. Return: CF clear if successful
  8911.         DX:AX = size of compressed file
  8912.     CF set on error (not dPressed file)
  8913. SeeAlso: AL=10h"dLite",AL=11h"dLite"
  8914. --------b-2D--DC-----------------------------
  8915. INT 2D C - DAISY.SYS - BROADCAST: CHAIN RESCANNED
  8916.     AL = DCh
  8917.     AH = AMIS multiplex number for signature 'DAISYCHA' 'INDRIVER'
  8918.     DL = LPT Port Rescanned
  8919. Program: DAISY.SYS is a daisy chain manager for parallel port peripherals
  8920.       conforming to the Advanced Parallel Port Committee's daisy chain
  8921.       specification.
  8922. Desc:    This Broadcast is sent whenever daisy chain IDs are reassigned to
  8923.       warn parallel port device drivers that their daisy chain ID may
  8924.       have been changed.
  8925. Note:    This function is a callout from DAISY.SYS, NOT a call into DAISY.SYS
  8926. SeeAlso: INT 17/AX=0200h"Advanced Parallel Port"
  8927. --------!---Section--------------------------
  8928.